Автоматическое монтирование: продолжение истории

29 August 2009 #archlinux

В своей статье Автоматическое монтирование я уже описал основные проблемы, с которыми сталкивается начинающий пользователь при использовании Archlinux.

По сути основная проблема заключается только в том, что для работы со сменными носителями нужно включить себя в группу storage и прописать правила PolicyKit… После этого практически все файловые менеджеры смогут осуществлять автоматическое монтирование. Больше ничего и не нужно. Последующее описание сервиса autofs касалось только случая, когда мы хотим использовать автоматическое монтирование сменных носителей при работе в консоли.

Практически в день публикации вместе с muhas нашли еще одно решение, которое позволяет использовать автоматическое монтирование как в иксах, так и в консоли. При этом способ великолепно интегрируется с файловыми менеджерами типа thunar, pcmanfm и другими…

Способ заключается в использовании демона halevt. Этот демон является развитием проекта ivman, который на сегодняшний день уже не развивается и успел устареть. Для монтирования используется hal, но в то же время практически ничего менять не нужно. Установить просто:

$ yaourt -S halevt

После чего просто запускаем его:

$ halevt

Он переходит в работу на фоне и использует свои правила для монтирования сменных устройств. Для того, чтобы демон запускался автоматически при старте системы, необходимо добавить следующую строку в .bashrc (.zshrc) и .xinitrc (я использую awesome в качестве оконного менеджера, поэтому все сервисы, которые стартуют при запуске иксов прописываются в .xinitrc):

pgrep halevt >> /dev/null || halevt &

Для использования команды pgrep должен быть установлен пакет procps. Данная команда позволяет проверить, запущен ли демон, и если нет, запустить его. Если работают на машине несколько пользователей лучше эту строку несколько модифицировать:

pgrep -U $USER halevt >> /dev/null || halevt &

Таким образом еще будет проверяться, от имени какого пользователя был запущен демон и монтирование в дальнейшем будет проводиться с нужными правами.

Для изменений опций монтирования необходимо править файл /usr/share/halevt/halevt.xml, который представляет собой обычный xml-файл, очень хорошо прокоментированный. Все что необходимо менять – это строки, в который присутствует команда mount.

По умолчанию при монтировании будет использоваться опция sync. Ее я рекомендую заменить на flush, для того, чтобы не уменьшать время жизни флешек.

Для того, чтобы демонтировать сменный носитель можно воспользоваться файловым менеджером в иксах, типа thunar или pcmanfm. Или же в консоли воспользоваться командой pumount.

В первом случае достаточно щелкнуть правой кнопкой мыши по имени носителя в боковой панели файлового менеджера и выбрать пункт “извлечь носитель”.

Для использования функции демонтирования в консоли требуется наличие установленного пакета pmount:

$ yaourt -S pmount

Для демонтирования используем команду:

$ pumount /media/disk

Причем оба способа не конфликтуют друг с другом. Можно использовать любой из них…

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