У меня есть такая запись в fstab:
LABEL=cache /disks/cache ext4 rw,user,x-mount.mkdir,relatime,noauto,errors=remount-ro,x-systemd.idle-timeout=120min 0 0
Я ожидаю, что сделаю следующее:
- для монтирования диска с кэшем меток в /disks/cache в любое время, когда я это потребую
- создать путь /dsisks/cache, если он не существует
- Чтобы предоставить разрешение +rwx моему пользователю или любому другому пользователю в его статусе
- автоматически отмонтировать диск, если он не используется в течение 1 часа
Почему шаг 4 не работает и как сделать так, чтобы папка удалялась после размонтирования, есть ли опция x-umount.rmdir?
решение1
То, что вы описываете, невозможно сделать в fstab.
Ниже приведены типичные способы монтирования дисков:
- Добавьте их в fstab, чтобы они автоматически монтировались при загрузке. (Для этого используется опция
defaults
илиauto
в fstab.) - Смонтируйте их вручную, либо как root со всеми указанными параметрами, либо вручную только как точку монтирования или устройство с оставшимися параметрами из fstab, либо как пользователь для записей, перечисленных в fstab, с параметрами
noauto,user
в четвертом столбце. - Используйте udisks для автоматического монтирования дисков горячей вставки, таких как cdrom и usb-накопители, обычно в каталоге
/media
. Однако это отмонтируется только по требованию пользователя. Udisks обычно монтируется при вставке устройства, но его также можно запустить из командной строки. - Используйте autofs для их монтирования по требованию, когда на каталог ссылаются, и отмонтируйте их по истечении времени ожидания, когда они больше не используются.
Autofs настраивается путем перечисления управляемых верхних каталогов по одному в каждой строке /etc/auto.master
в конфигурационном файле для каждого управляемого каталога, при этом каждый конфигурационный файл перечисляет подкаталоги управляемых каталогов.
Например, auto.master может перечислить /etc/auto.misc
, что в свою очередь может перечислить ряд файловых систем или устройств с потенциальными файловыми системами. По умолчанию auto.misc, который поставляется с autofs, перечисляет floppy
(закомментировано по умолчанию), что будет смонтировано, /misc/floppy
если к нему будет получен доступ и файловая система будет доступна на этом устройстве.
Примеры строк из auto.master:
/misc /etc/auto.misc
/home /etc/auto.home
/disks /etc/auto.disks --timeout=3600
Пример строки из auto.misc:
floppy -fstype=auto :/dev/fd0
Пример строки из auto.home:
someuser homeserver:/export/home/someuser
Autofs может сделать все, что вы просили, за исключением установки разрешений, которые обычно наследуются от разрешений корневого каталога в смонтированной файловой системе, или опций монтирования, если файловая система это поддерживает. Для приведенной выше (непроверенной) строки disks потребуется соответствующий /etc/auto.disks
файл с описанием файловых систем, которые вы хотите смонтировать/disks/
решение2
Создайте файл автомонтирования для каждого устройства через systemd
. Для этого создайте файл /etc/systemd/system/diskname.automount
со следующим содержимым:
[Unit]
Description=Automountaje de discos de usuario
After=blockdev@dev-disk-by\x2dlabel-cch.target
[Automount]
Where= mountpoint
TimeoutIdleSec=10
[Install]
WantedBy=multi-user.target
Замените точку монтирования на желаемое местоположение и убедитесь, что это местоположение правильно назначено диску в /etc/fstab
.
Это должно работать напрямую.