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

Re: Что почитать о монтировании сменных носителей?



On Sun, 4 Oct 2009 14:01:31 +0800
antilopa_gnu@list.ru wrote:

> Прошу совета -- что почитать о всём том хозяйстве, которое
> занимается в debian lenny мнотированием сменных носителей. 
> 
> Т.е. какая программа что делает (опознание устройства, задание
> опций монтирования, собственно монтирование/размонтирование)
> где и как настраивается?

Опознаётся устройство ядром. Настройка ведётся через указание параметров
модуля, отвечающего за работу данного класса устройств. Обычно сюда
залезать не приходится.

Файл в /dev/ создаётся демоном udev. Для каждого найденного диска
создаётся файл типа /dev/hd{a,b,c...} или /dev/sd{a,b,c...}.
Для каждого найденного раздела на устройстве (таблица разделов также
читается ядром) создаётся в /dev файл с числовым суффиксом (номером
раздела), а также символические ссылки в /dev/disk/by-*/.

Опции монтирования задаются в /etc/fstab. Формат можно узнать из
fstab(5). Туда обычно прописываются несъёмные диски.

А вот с монтированием флешек и карт памяти идёт полный разброд.

Наиболее корректным с точки зрения юниксового пуриста является pmount
--- suid-ная программа, которая позволяет обычному пользователю
монтировать устройства, помеченные ядром как "съёмные". Этой программе
можно передать дополнительные опции монтирования (в т.ч. кодировку
файловой системы), но умолчания у неё меня и так устраивают (в том числе
и кодировка, если локаль юникодная).

                                            "Open the CD-ROM door, HAL!"

Однако головотяпы-десктопщики pmount не признают и породили уродца под
названием HAL. Это расшифровывается как Hardware Abstraction Layer, но
аллюзия к произведению Артура Кларка имеет место быть.

HAL получает от udev-а сообщения о появлении новых устройств и
пересылает их по системной dbus-шине, а также обрабатывает запросы
"покажи мне список устройств", "смонтируй вот это" и "отмонтируй вот
это". При этом список опций монтирования хранится где-то в глубине HAL-а
и настраивается античеловечным языком на основе XML. Также никакие опции
монтирования не применяются самостоятельно, а передаются приложению,
работающему с демоном и должны быть присланы обратно.

Как результат такой перегруженности процесса монтирования, нормальных
средств для работы с демоном HAL нет. "Нормальный" понимается как
"простой", 'понятный" и "скриптуемый".

P.S. В результате того, что кард-ридеры не посылают по USB-шине никаких
сообщений при помещении туда карточки, ядро не может автоматически
перечитать список разделов на ней. Поэтому для получения актуальной
информации о списке разделов надо периодически "попинывать" кард-ридер.
В HAL этим занимается hald-addon-storage (но никто не мешает вызвать
fdisk -l на устройство или даже dd if=/dev/sdd of=/dev/null bs=1 count=1).

-- 
Alexander Galanin

Attachment: pgpzTcg9YhAj1.pgp
Description: PGP signature


Reply to: