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