Подходы к автоматическому монтированию устройств в Linux постоянно меняются, и поиск в Google дает довольно много решений с различной степенью применимости для современных системных систем.
Существуют следующие подходы:
- изменение
/etc/fstab
для добавления монтирования на диск по UUID. - правила
udev
(очевидно, «сырые правила» могут конфликтовать с существующими политиками systemd) - udisks2 работает как сервис systemd или через udiskie
- udevil
- usbmount
- автомонтирование обеспечивается рабочими средами, т.е. на XFCE через
thunar
+thunar-volman
пакеты илиnautilus
автомонтирование в Gnome с пакетомgnome-volume-manager
( по- видимому , они полагаются на udisks). - autofs kernel automounter
- системное монтирование systemd , пример использования: automount-usb
Как всегда в Linux, выбор немного ошеломляющий, и неясно, какой подход рекомендуется использовать в настоящее время. Более того, кажется, что разные подсистемы автоматического монтирования могут конфликтовать друг с другом, что приводит к ситуациям, когда раздел монтируется одним инструментом, а затем в течение нескольких секунд автоматически демонтируется другим инструментом.
Для систем с окружением рабочего стола это просто, так как большинство из них автоматически обрабатывают USB-подключение, поэтому никаких дополнительных действий не требуется, кроме включения опции автоматического подключения в настройках.
Каков нынешний подход для безголовой системы, которая в основном работает в текстовом режиме?
Обновить
После работы со всеми параметрами я обнаружил, что usbmount
просто работает после того, как я отредактировал /lib/systemd/system/systemd-udevd.service
и изменил MountFlags=slave
на MountFlags=shared
как описано в этом выпуске. Нет необходимости вручную добавлять какие-либо UUID или метки к любым файлам конфигурации. Недостатком является то, что он создает точки монтирования в /media/usbN
что не идеально, поэтому я переключился на automount-usb
который был удивительно прост в настройке (просто запустил скрипт configure.sh
) и который создает папки монтирования, такие как /media/<device>_<disk_label>
например, как /media/sda2_mylabel
.
Соответствующие ссылки:
- https://github.com/six-k/automount-usb
- Автоматически подключать внешние диски к /media /LABEL при загрузке без входа пользователя?
- https://askubuntu.com/a/457904/74172
- https://unix.stackexchange.com/questions/119973/mounting-usb-automatically-having-usbs-label-as-mountpoint
- https://www.freedesktop.org/software/systemd/man/systemd.automount.html
- https://www.freedesktop.org/software/systemd/man/systemd.mount.html
- http://blog.tomecek.net/post/automount-with-systemd/
- https://serverfault.com/questions/766506/automount-usb-drives-with-systemd