CIFS монтируется через fstab, не монтируется при загрузке


20

У меня есть общий ресурс 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и никаких других проблем с ним нет.

Благодарность!


2
Если на сервере работает Ubuntu, скорее всего, вам нужен /, а не \ - "//192.168.0.26/mythtv/media" См. Wiki.ubuntu.com/MountWindowsSharesPermanently
Panther

@ bodhi.zazen Возможно, у меня был / когда я вошел в него, но теперь он читается с \
douggro

Проверьте синтаксис (/ vs \) в fstab
Panther

@ bodhi.zazen Я почти уверен, что я следил за статьей в вики. Я проверю синтаксис позже, когда у меня будет время посидеть с моим сервером.
Дуггро

1
@ bodhi.zazen Пожалуйста, преобразуйте свой комментарий в ответ - измените \ на / решил.
Дуггро

Ответы:


8

Это синтаксическая ошибка, я думаю, что вам нужно "/", а не "\", как это

//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 для получения дополнительной информации.


24

Вы пытались добавить опцию _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 предполагается отложить монтирование до тех пор, пока сеть не подключится.


Можете ли вы добавить контекст туда, где это будет находиться в fstabстроке? После этого и периода, когда я могу перезагрузить сервер, когда он не используется, я попробую. Спасибо за ответ.
Дуггро

1
Это работало для меня в Ubuntu 12.04, но не в Ubuntu 16.04. Изменилось ли это в последней версии?
Кату

2
Примечание: я думаю, что _netdev действительно работает в 16.04, однако учетные данные = / home / user / .smbcreds больше не работают. По крайней мере, для меня, когда я использую user =, pass =, _netdev это работает, когда я использую учетные данные =, _ netdev это не так. Оба работают через sudo mount -a из командной строки после загрузки.
jb510

1
Я на самом деле думаю, что это может быть связано с изменениями разрешений, которые были внесены в папку мультимедиа. В какой-то момент Ubuntu начал монтировать вещи в / media / username / имя папки, а не / media / имя папки. Если вы не подключаетесь к местоположению «username», вам необходимо иметь права доступа уровня sudo. Если вы измените свой путь, чтобы использовать путь / media / username, я думаю, он все равно должен работать.
djmadscribbler

1
_netdev - Действует только с fstype nfs
Михаил Чупринский

15

если _netdev не работает, попробуйте вариант:

х-systemd.automount

вместо. Работает, монтируя диск при первом доступе.

Чтобы проверить автомонтирование, размонтируйте свою долю, если она в данный момент смонтирована:

$ sudo umount /media/mybooklive

И затем перезапустите remote-fsсистемный модуль:

$ sudo systemctl daemon-reload
$ sudo systemctl restart remote-fs.target

2
спасибо, это сработало для меня в 18.04 LTS
Chief

1
_netdev не работал 18.04, это сработало отлично :)
Брайан говорит восстановить Monica

6

Я использую сборку Raspbian-Stretch от 2017-09-07 и столкнулся с той же проблемой. Однако мне удалось преодолеть это, зайдя в raspi-config, и в меню Boot Options я включил опцию «Ожидать сеть при загрузке».


1
Это на самом деле ОЧЕНЬ полезно, у меня были проблемы с тем, что даже если загрузчик сказал, что все в порядке, он просто не смонтировал его или не отобразил папки
Alfred Espinosa

3

- Использование косых черт (/) НЕ исправило это для меня.
-Также добавление опции _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

Выполнено! Теперь это прекрасно работает для меня!

Ссылки:


Вы подключаетесь через Wi-Fi?
cbcoutinho

Да, я использую WiFi вместо Ethernet.
Габриэль Стейплз

Это действительно очень странно, но, вероятно, не связано с моей проблемой. У меня есть три сетевых диска, которые я пытаюсь подключить через кабель Ethernet - нет Wi-Fi. Имя одного из дисков имеет специальный символ, и это не позволяет ему подключиться после новой загрузки. Выполнение sudo mount -aрешает проблему, но мне любопытно, почему это не работает при загрузке. Я попробую ваше решение и посмотрю, поможет ли это.
cbcoutinho
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.