systemd: Как мне автоматически смонтировать файловую систему USB с помощью / etc / fstab?

14

Я хочу, чтобы мои файловые системы USB автоматически подключались при подключении устройства.

Как настроить автомонтирование с systemdпомощью via /etc/fstab?

Том Хейл
источник

Ответы:

15

Подключите устройство и узнать UUID файловой системы, запустив либо blkidили lsblk -f.

Добавьте строку к /etc/fstabтакой как:

UUID=05C5-A73A  /mnt/32GBkey  vfat  noauto,nofail,x-systemd.automount,x-systemd.idle-timeout=2,x-systemd.device-timeout=2

Затем выполните:

systemctl daemon-reload && systemctl restart local-fs.target

Объяснение:

  • noauto - не монтировать с mount -a
  • nofail - загрузка продолжится, даже если эта точка монтирования не смонтирована успешно
  • x-systemd.automountскажи, systemdчтобы смонтировать этот этнри
  • x-systemd.idle-timeout=2 - подождите 2 секунды, прежде чем отключать устройство после последнего использования
  • x-systemd.device-timeout=2- подождите только 2 секунды, прежде чем давать, No such deviceесли устройство не подключено

Замечания:

  1. Там нет кавычек вокруг UUIDчисла.
  2. Каталог точки монтирования не должен существовать - он будет создан

Для получения дополнительной информации о доступных опциях см. Systemd.mount (5)

Том Хейл
источник
2
Есть ли какое-то преимущество перед udevправилом? Это кажется очень специфичным для отдельного устройства (с учетом UUIDзависимости fstab), где udevправило может охватывать, например, любой USB-накопитель.
Fiximan
/etc/fstabне имеет зависимости, которую вы утверждаете, принимаете LABEL=..., PARTLABEL=...и старый добрый /dev/usbkey. Вы всегда можете настроить udevправило, чтобы сделать /dev/usbkey, но я не знаю, как монтировать, используя в udevодиночку.
Том Хейл
Обновление 2019: я успешно протестировал это решение на Debian 9.9 и обнаружил, что оно работает нормально. Обратите внимание, что, поскольку это автомонтирование, dfфайловая система может не отображаться как смонтированная.
Джонатан Бен-Авраам