[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: автомонтирование



Юра -> debian-russian@lists.debian.org  @ Mon, 11 Apr 2005 15:01:44 +0400:

 >> что есть в нашем дистрибутиве (и есть ли) для автоматического
 >> монтирования/размонтирования. Так чтоб для пользователя наиболее приближенно
 >> к m$ было. Пробовал autofs, да что-то как-то коряво все равно. в ALTLinux-e
 >> нечто желаемое видел, это не помню как это там сделано. Но.... жмешь на
 >> приводе выплюнуть cdrom и он послушно вылазит, без всяческих
 >> доп. манипуляций.

 Ю> Мне напр.  удобнее жать - не на приводе(где-то там на системнике внизу под столом )
 Ю> а на клавиатуре .Поэтому решил  оформить алиас :

 Ю> alias 1='eject -tv /cdrom &&  mount /cdrom'
 Ю> alias 2='umount -l /cdrom && cd / &&  eject -rv /cdrom'
 Ю> alias 3='eject -rv /cdrom'

 Ю> Но есть одна проблема.
 Ю> Напр. вставил диск и начал копировать с него .И вдруг мне его срочно надо
 Ю> вытащить (жена вам лучше объяснит зачем) .

 Ю> % umount -l /cdrom - отлично работает и копирование сразу прерывается(вылезают
 Ю>  менюшки : "разрешите повторить-пропустить-отменить" - все в лучших традициях мастдая) .
 Ю> а вот % eject -r /cdrom - неработает и вот что выводит ---
 Ю> eject: `/dev/hdb' is a multipartition device
 Ю> eject: trying to eject `/dev/hdb' using CD-ROM eject command
 Ю> eject: CD-ROM eject command failed
 Ю> eject: unable to eject, last error: Device or resource busy
 Ю> ---
 Ю> но тут помогает k3b .оно может выдвинуть лоток невзирая ни на какие busy .
 Ю> но зато оно не может размонтировать во время работы .

 Ю> Так что два вопроса :
 Ю> -как eject узнает , что device busy , и как бы это отключить ?

Пытается выдать команду и получает в ответ ошибку "device busy".
Отключить это можно только посредством освобождения устройства.
Пониманию происходящего сильно способствует чтение man umount на предмет
ключа -l.  Хинт: оно файловую систему отцепляет сразу.  А устройство оно
отпустит только когда процесс копирования отпустит уже открытые там
файлы.  Это происходит не мгновенно.  Сильно подозреваю, что если у тебя
там один файл во весь компакт, то оно его сначала честно докопирует.  В
качестве варианта - перед umount выдать что-то типа fuser -k SIGTERM -m
/cdrom (после чего -l у umount можно и убрать), но будучи выдано от
рута, оно будет грубовато и несколько рискованно для системы, а будучи
выдано не от рута - не прибьет чужих процессов, там живущих.

 Ю> -каким образом k3b  этим совершенно не интересуется ?

Сильно подозреваю, что никаким - просто оно запускается, когда
устройство уже освободилось, и eject его может выкинуть точно так же.

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru

Если ничто уже не помогает, прочтите же, наконец, инструкцию!



Reply to: