Подходы к автоматическому монтированию устройств в 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
Что именно вы хотите автомонтировать? Ограниченный набор известных устройств, или просто какая-нибудь USB-карта подключается в любое время в будущем? Есть разные ответы на оба.