|
Dr.Web Live USB и GRUB
|
|
| b0s | Дата: Пятница, 20.04.2012, 00:43 | Сообщение # 196 |
|
Ищущий
Группа: Пользователи
Сообщений: 22
Статус: Отсутствует
| Я как то упустил из виду, что создавал файл, в 64-х битной версии Ubuntu...
|
| |
|
|
| Sh1td0wn | Дата: Пятница, 20.04.2012, 00:48 | Сообщение # 197 |
|
Программист
Группа: Модераторы
Сообщений: 3827
Статус: Отсутствует
| Тогда перед сборкой потребуется ввести "linux32". Возможно, потребуется пакет ia32-libs.
НАЖМИ МЕНЯ, прежде чем что-либо написать
|
| |
|
|
| b0s | Дата: Пятница, 20.04.2012, 03:30 | Сообщение # 198 |
|
Ищущий
Группа: Пользователи
Сообщений: 22
Статус: Отсутствует
| Sh1td0wn, использования данной команды не даёт во всяком случае видимого ответа, ни в виде цикла, не в простом виде fuser /dev. Я поставил вызов функции и до umount и после, ни та ни другая ни даёт ответа, но umount всёравно говори что устройство занято. Может тогда попробовать по списку устройств внутри папки dev? Или занятость папки не связана с занятостью ссылок внутри? Добавлено (20.04.2012, 03:30) --------------------------------------------- Раскопал информацию, о том как можно узнать о коде завершения программы. Если я правильно понял, то когда $? = 0 команда выполнена успешно, когда же $? = 1 это или любое другое число кроме нуля, это ошибка? После завершения работы fuser $? = 1 .
|
| |
|
|
| Sh1td0wn | Дата: Пятница, 20.04.2012, 18:58 | Сообщение # 199 |
|
Программист
Группа: Модераторы
Сообщений: 3827
Статус: Отсутствует
| > umount всёравно говори что устройство занято cat /proc/mounts losetup -a
> Или занятость папки не связана с занятостью ссылок внутри? По идее, связана, и если файлы внутри директории заняты, занята и сама директория вплоть до своего mountpoint'а.
> Если я правильно понял, то когда $? = 0 команда выполнена успешно, когда же $? = 1 это или любое другое число кроме нуля, это ошибка? Верно.
> После завершения работы fuser $? = 1 . На любой диектории? Или он показывает правильные результаты хоть когда-нибудь? Смонтирован ли /proc на момент его запуска?
НАЖМИ МЕНЯ, прежде чем что-либо написать
|
| |
|
|
| b0s | Дата: Пятница, 20.04.2012, 23:07 | Сообщение # 200 |
|
Ищущий
Группа: Пользователи
Сообщений: 22
Статус: Отсутствует
| Спасибо за ответ, обязательно проверю. Добавлено (20.04.2012, 21:45) ---------------------------------------------
Quote (Sh1td0wn) На любой диектории? Или он показывает правильные результаты хоть когда-нибудь? Смонтирован ли /proc на момент его запуска
Посмотрим. Проверю позже.Добавлено (20.04.2012, 22:58) --------------------------------------------- Ужас продолжается... И такс: Добавлено (20.04.2012, 23:06) --------------------------------------------- Результат вызова fuser одинаков во всех трёх случаях. Code fuser# возвращает 1 fuser /# возвращает 1 fuser /dev# возвращает 1
cat /proc/mounts# cat: can't open '/proc/mounts': No such file or directory losetup -a# /linuxrc: line 405: losetup: not found mount# mount: no /proc/mounts Добавлено (20.04.2012, 23:07) --------------------------------------------- umount /dev# же сейчас вообще промолчала, и возвратила 0. Видимо, пока все эти процедуры запускались, времени "чему-то" хватило, что бы отпустить /dev
|
| |
|
|
| Sh1td0wn | Дата: Пятница, 20.04.2012, 23:10 | Сообщение # 201 |
|
Программист
Группа: Модераторы
Сообщений: 3827
Статус: Отсутствует
| Очевидно, это потому, что /proc был отмонтирован выше в скрипте. Попробуйте переместить отключение /dev и соответствующие проверки перед тем местом, где отключается /proc/.
НАЖМИ МЕНЯ, прежде чем что-либо написать
|
| |
|
|
| b0s | Дата: Пятница, 20.04.2012, 23:31 | Сообщение # 202 |
|
Ищущий
Группа: Пользователи
Сообщений: 22
Статус: Отсутствует
| Ааа это я же паузу поставил перед девом. Забыл. Сча уберу. Добавлено (20.04.2012, 23:15) --------------------------------------------- Паузу убрал. /dev снова busy. Сейчас проверю, есть ли отсоединение /proc раньше. Добавлено (20.04.2012, 23:17) --------------------------------------------- Блин. А мы так не увидим с вами я боюсь от чего /dev in busy. Потому, что там ещё до массового umount, три или четыре функции и любая из них может мешать. Но всё же. Ой, что то во мне спорщик проснулся. Пойду поробовать. Добавлено (20.04.2012, 23:25) --------------------------------------------- Что именно необходимо найти в списках, которые представлены командами кэт и маунт? Добавлено (20.04.2012, 23:31) --------------------------------------------- Вот что тут есть с /dev:
cat /proc/mounts # /dev/root / squashfs ro,relatime 0 0 memfs dev/root / squashfs ro,relatime 0 0
mount # /dev/root on / type squashfs (ro,relatime) memfs on /dev type tmpfs (rw,relatime)
|
| |
|
|
| Sh1td0wn | Дата: Пятница, 20.04.2012, 23:42 | Сообщение # 203 |
|
Программист
Группа: Модераторы
Сообщений: 3827
Статус: Отсутствует
| Если fuser молчал, а /dev был занят, это могло означать занятость директории ядром. Есть возможность поместить fuser /dev перед отмонтированием /dev и /proc?
НАЖМИ МЕНЯ, прежде чем что-либо написать
|
| |
|
|
| b0s | Дата: Суббота, 21.04.2012, 00:09 | Сообщение # 204 |
|
Ищущий
Группа: Пользователи
Сообщений: 22
Статус: Отсутствует
| О! fuser заработала. Добавлено (21.04.2012, 00:09) --------------------------------------------- Почему то функция for не вызывает перебор pid добавляя его в cat. Я даже в for перед cat добавил echo c pid, но не работает. Нет результата перебора. А в режиме DEBUG=1 там просто один раз команда пишется и всё, никакого дополнительного вывода.
|
| |
|
|
| Sh1td0wn | Дата: Суббота, 21.04.2012, 00:15 | Сообщение # 205 |
|
Программист
Группа: Модераторы
Сообщений: 3827
Статус: Отсутствует
| > Почему то функция for не вызывает перебор pid добавляя его в cat. А fuser-то пишет что-нибудь?
НАЖМИ МЕНЯ, прежде чем что-либо написать
|
| |
|
|
| b0s | Дата: Суббота, 21.04.2012, 00:20 | Сообщение # 206 |
|
Ищущий
Группа: Пользователи
Сообщений: 22
Статус: Отсутствует
| Да. Специально, поставил слип перед ней. Я написал два дубля этого перебора. Один с comm второй c cmdline, и на месте вызова этих функций, просто Code +fuser /dev +fuser /dev Но сама по себе команда без for выдают кучу pid'овДобавлено (21.04.2012, 00:18) --------------------------------------------- Запутал наверное вас. Поясню ещё раз, проще. Добавлено (21.04.2012, 00:20) --------------------------------------------- Вызов for pid in `fuser /dev`; do cat /proc/$pid/comm; done и for pid in `fuser /dev`; do cat /proc/$pid/cmdline; done не оставляют сообщений. Вызов же fuser /dev выдаёт кучу pid'ов.
|
| |
|
|
| Sh1td0wn | Дата: Суббота, 21.04.2012, 01:05 | Сообщение # 207 |
|
Программист
Группа: Модераторы
Сообщений: 3827
Статус: Отсутствует
| > Но сама по себе команда без for выдают кучу pid'ов Она вызвана без for в этом же месте?
НАЖМИ МЕНЯ, прежде чем что-либо написать
|
| |
|
|
| b0s | Дата: Суббота, 21.04.2012, 01:39 | Сообщение # 208 |
|
Ищущий
Группа: Пользователи
Сообщений: 22
Статус: Отсутствует
| Quote (Sh1td0wn) Она вызвана без for в этом же месте? Нет, я ошибся.
Я писал три варианта использования команды fuser "fuser #" без параметров. Возвращает - 1. Также оставляет вывод с кучей pid'ов, что скорей всего естественно. Предполагаю это pid'ы fuser'а, либо папки /bin в которой fuser находится. "fuser / #" возвращает - 0. Вывод пустой. "fuser /dev #" возвращает - 1. Вывод пустой.
Моя ошибка была в том, что я думал, что вывод от команды "fuser /dev #", а на самом деле это была "fuser #"
Сообщение отредактировал b0s - Суббота, 21.04.2012, 03:33 |
| |
|
|
| Sh1td0wn | Дата: Суббота, 21.04.2012, 12:53 | Сообщение # 209 |
|
Программист
Группа: Модераторы
Сообщений: 3827
Статус: Отсутствует
| > "fuser #" без параметров. Возвращает - 1. > Также оставляет вывод с кучей pid'ов Это странно. По крайней мере, "большая" (не из busybox'а) утилита fuser требует не менее одного аргумента командной строки, задающего путь к файлу.
> "fuser /dev #" возвращает - 1. Вывод пустой. Тогда я не совсем себе представляю, что ещё может держать /dev.
НАЖМИ МЕНЯ, прежде чем что-либо написать
|
| |
|
|
| Sh1td0wn | Дата: Суббота, 21.04.2012, 22:00 | Сообщение # 210 |
|
Программист
Группа: Модераторы
Сообщений: 3827
Статус: Отсутствует
| > umount /sys /proc Начиная с этого места fuser не имеет возможности работать.
НАЖМИ МЕНЯ, прежде чем что-либо написать
|
| |
|
|