Автомонтирование по сети
Что, где и как
Примеры монтирования в /mnt/FOLDER одного и того же ресурса /share/FOLDER с сервера server через юнит /lib/systemd/system/mnt-FOLDER.mount:
| по sshfs |
|---|
[Unit]
Description = Mount remote FOLDER over SSH FileSystem
[Mount]
Type = sshfs
Where = /mnt/FOLDER
What = user@server:/share/FOLDER
# Можно подставить любые не конфликтующие опции как mount, так и sshfs:
Options = noauto,_netdev,reconnect
|
| по davfs |
|---|
[Unit]
Description = Mount remote FOLDER over NextCloud WebDAV
[Mount]
Type = davfs
Where = /mnt/FOLDER
What = https://server/share/FOLDER
# Можно подставить любые не конфликтующие опции как mount, так и davfs:
Options = noauto,_netdev,user,uid=user,gid=users
|
| по nfs |
|---|
[Unit]
Description = Mount remote FOLDER over Network FileSystem
[Mount]
Type = nfs
Where = /mnt/FOLDER
What = server:/share/FOLDER
# Можно подставить любые не конфликтующие опции как mount, так и nfs:
Options = noauto,_netdev,nolock
|
| по cifs |
|---|
[Unit]
Description = Mount remote FOLDER over Samba FileSystem
[Mount]
Type = cifs
Where = /mnt/FOLDER
What = //server/share/FOLDER
# Можно подставить любые не конфликтующие опции как mount, так и cifs:
Options = noauto,_netdev,credentials=/etc/cifs.cred,iocharset=utf8,file_mode=0644,dir_mode=0755
|
Все отличия приведённых способов монтирования определяются параметрами Type, What и Options секции [Mount] сообразно монтируемой файловой системе.
Полагаю, основываясь на данных образчиках, не составит труда додумать иные варианты подключений к мегадрайву и прочим мелкомягким гугляндекс-дискам (ну, а вдруг таки заставит — готов дополнить: приводите обкатанные примеры по телеге или во вкладке обсуждения).
- дополнить любой из вышеприведённых юнитов секцией:
[Install] WantedBy = remote-fs.target
- убрать из списка опций
noauto, - и скомандовать: # systemctl enable --now mnt-FOLDER.mount
А нижеизложенное можно и не читать.
Зачем именно автомонтаж
Чтобы входить в удалённый ресурс при первом/каждом обращении к нему, не подключая на этапе загрузки в надежде на его доступность. Для этого понадобится ещё один юнит с расширением .automount, чья привязка к любому из описанных вариантов .mount-а производится через соответствие параметра Where в обоих.
| /lib/systemd/system/mnt-FOLDER.automount |
|---|
[Unit]
Description = Automount /mnt/FOLDER share
# Если доступ только через туннель (l2tp, ipsec, wireguard и т.п.):
Requires = openvpn@vpn.service
[Automount]
Where = /mnt/FOLDER
# Если нужно поменять умолчальные допуски:
DirectoryMode = 0775
# Если нужно, длительность доступа без перезапроса на подключение:
TimeoutIdleSec = 300
[Install]
WantedBy = multi-user.target
|
После его создания останется скомандовать: # systemctl enable --now mnt-FOLDER.automount
Источники
Хабр, АТК-динозавр, Бессонная тварюшка.