У меня есть общий ресурс CIFS на моем NAS, который я хочу смонтировать при загрузке - он используется моим сервером MythTV в качестве основного хранилища мультимедиа. Я добавил запись в fstab
для его монтирования, но это не так. Похоже, что после просмотра моих системных журналов, fstab
читается до того, как мои сетевые интерфейсы подключаются к сети. Есть ли какие-либо изменения, которые я могу внести в запись fstab
, которая изменит это?
Запись fstab
для установки общего ресурса:
\\192.168.0.26\mythtv\media /media/mybooklive cifs username=user,password=pass,umask=002,uid=136,gid=144,iocharset=utf8 0 0
Монтируется нормально после загрузки, когда Я выпускаю sudo mount -a
, и больше никаких проблем с ним нет.
Спасибо!
Это синтаксическая ошибка, я думаю, что вам нужно "/", а не "\", как это
//192.168.0.26/mythtv/media /media/mybooklive cifs username=user,password=pass,_netdev,umask=002,uid=136,gid=144,iocharset=utf8 0 0
См .: https://wiki.ubuntu.com/ MountWindowsSharesPermanently для дополнительной информации.
Вы пытались добавить опцию _netdev
к вашей записи fstab
? Вы бы добавили его с другими параметрами в вашей строке, например, так
//192.168.0.26/mythtv/media /media/mybooklive cifs username=user,password=pass,_netdev,umask=002,uid=136,gid=144,iocharset=utf8 0 0
_netdev
должен задерживать монтирование до тех пор, пока сеть не подключится.
если _netdev не работает, попробуйте параметр:
x-systemd.automount
. Он работает, монтируя диск при первом доступе.
Чтобы проверить автомонтирование, размонтируйте свою долю, если она в настоящий момент смонтирована:
$ sudo umount /media/mybooklive
, а затем перезапустите системный модуль remote-fs
:
$ sudo systemctl daemon-reload
$ sudo systemctl restart remote-fs.target
Я использую сборку Raspbian-Stretch от 2017-09-07 и столкнулся с той же проблемой. Однако мне удалось преодолеть это, зайдя в raspi-config и в меню Boot Options я включил опцию «Ожидание сети при загрузке».
- Используя наклонные черты вправо (/) НЕ зафиксировал его для меня.
- Кроме того, добавление опции _netdev
к моему /etc/fstab
запись НЕ зафиксировала его для меня.
То, что я сделал для решения этой проблемы (на моем Pi3), изменяют /etc/rc.local
спать 20 секунд (путем вызова sleep 20
) и затем звоните mount -a
. Таким образом, даже при том, что сеть еще НЕ соединена, когда система сначала читает fstab файл, таким образом, монтирование перестало работать затем, я вынуждаю систему ожидать 20 секунд здесь (предоставление сетевого времени для соединения) затем, я вынуждаю это звонить mount -a
снова смонтировать все диски в fstab
файл.
Вот что мой /etc/rc.local
файл теперь похож:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
#GS notes: a *minimum* of sleep 10 is required for the mount below to work on the Pi 3; it failed with sleep 5, but worked with sleep 10, sleep 15, and sleep 30
sleep 20
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
mount -a #GS: mount all drives in /etc/fstab
fi
exit 0
Готово! Это теперь работает отлично на меня!
Ссылки:
Отказоустойчивый метод, всегда помните эти 3:
noauto
x-systemd.automount
_netdev
Всегда работает.
Метод из Как автоматически монтировать с помощью sshfs?, который я цитирую ниже:
Я добавляю метод
fstab
, так как никто не говорит об этом в этом страница. Если вы не хотите хаков и используете встроенные расширенные функции монтирования, вам нужно использовать/etc/fstab
и никогда не оглядываться назад.user@host:/remote/folder /mount/point fuse.sshfs noauto,x-systemd.automount,_netdev,IdentityFile=/home/name/.ssh/id_rsa, allow_other,reconnect 0 0
noauto
остановит простые действия, такие как принудительное монтирование чего-либо при загрузке, независимо от того, работает сеть или нет.x-systemd.automount
— умный демон, который знает, когда монтировать.- Тег
_netdev
также указывает, что он использует сетевые устройства, поэтому он будет ждать, пока сеть не заработает.