CIFS-Mount über fstab wird beim Booten nicht gemountet

19

Ich habe eine CIFS-Freigabe auf meinem NAS, die ich beim Booten bereitstellen möchte - sie wird von meinem MythTV-Server als Hauptmedienspeicher verwendet. Ich habe einen Eintrag in hinzugefügt fstab, um es mounten zu lassen, aber das tut es nicht. Es scheint, dass nach Durchsicht meiner Systemprotokolle fstabgelesen wird, bevor meine Netzwerkschnittstellen online geschaltet werden. Kann ich den fstabEintrag bearbeiten, um ihn zu ändern?

Der fstabEintrag zum Mounten der Freigabe lautet:

\\192.168.0.26\mythtv\media  /media/mybooklive  cifs  username=user,password=pass,umask=002,uid=136,gid=144,iocharset=utf8   0       0

Es wird nach dem Booten problemlos aktiviert, wenn ich sudo mount -aProbleme habe, und es gibt keine weiteren Probleme damit.

Vielen Dank!

douggro
quelle
2
Wenn auf dem Server Ubuntu ausgeführt wird, ist es wahrscheinlich, dass Sie ein / anstatt eines \ - "//192.168.0.26/mythtv/media" benötigen.
Panther
@ bodhi.zazen Es hatte vielleicht das / als ich es betrat, aber es liest jetzt mit dem \
douggro
Überprüfen Sie die Syntax (/ vs \) in fstab
Panther
@ bodhi.zazen Ich bin mir ziemlich sicher, dass der Wiki-Artikel genau das ist, was ich beim Einrichten befolgt habe. Ich werde die Syntax später überprüfen, wenn ich Zeit habe, mich an meinen Server zu setzen.
Douggro
1
@ bodhi.zazen Bitte wandle deinen Kommentar in eine Antwort um - ändere das \ nach / löste es.
Douggro

Antworten:

7

Es ist ein Syntaxfehler, ich denke, Sie brauchen ein "/" und nicht ein "\" wie dieses

//192.168.0.26/mythtv/media  /media/mybooklive  cifs  username=user,password=pass,_netdev,umask=002,uid=136,gid=144,iocharset=utf8  0 0

Siehe: https://wiki.ubuntu.com/MountWindowsSharesPermanently für weitere Informationen.

Panther
quelle
23

Haben Sie versucht, die Option _netdevzu Ihrem fstabEintrag hinzuzufügen ? Sie würden es mit den anderen Optionen in Ihrer Zeichenfolge wie folgt hinzufügen

//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 soll die Bereitstellung verzögern, bis das Netzwerk verbunden ist.

djmadscribbler
quelle
Können Sie den Kontext hinzufügen, in dem das in der fstabZeile stehen würde? Damit und in einem Zeitraum, in dem ich den Server neu starten kann, wenn er nicht verwendet wird, werde ich es versuchen. Danke für die Antwort.
Douggro
1
Dies funktionierte für mich in Ubuntu 12.04, aber nicht in Ubuntu 16.04. Hat sich dies in der neuesten Version geändert?
Katu
2
Hinweis: Ich denke, _netdev funktioniert in 16.04, aber credentials = / home / user / .smbcreds funktioniert nicht mehr. Zumindest für mich, wenn ich user =, pass =, _netdev verwende, funktioniert es, wenn ich credentials =, _netdev verwende, funktioniert es nicht. Beide funktionieren nach dem Booten über sudo mount-a von der Kommandozeile aus.
jb510
1
Ich denke tatsächlich, dass dies mehr mit den Berechtigungsänderungen zu tun haben könnte, die am Medienordner vorgenommen wurden. Irgendwann begann Ubuntu, Dinge in / media / benutzername / ordnername anstatt in / media / ordnername zu mounten. Wenn Sie nicht an den Speicherort "Benutzername" mounten, müssen Sie über Berechtigungen auf Sudo-Ebene für den Zugriff verfügen. Wenn Sie Ihren Pfad ändern, um den Pfad / media / username zu verwenden, denke ich, dass es noch funktionieren sollte.
Djmadscribbler
1
_netdev - Nur gültig mit fstype nfs
Mikhail Chuprynski
14

Wenn _netdev nicht funktioniert, probieren Sie die Option:

x-systemd.automount

stattdessen. Es funktioniert, indem das Laufwerk beim ersten Zugriff gemountet wird.

Um die automatische Bereitstellung zu testen, heben Sie die Bereitstellung Ihrer Freigabe auf, wenn sie derzeit bereitgestellt ist:

$ sudo umount /media/mybooklive

Und dann starte das remote-fsSystem neu:

$ sudo systemctl daemon-reload
$ sudo systemctl restart remote-fs.target
T-Dome
quelle
2
danke, das hat bei mir im 18.04 LTS
Chief
1
_netdev hat am 18.04 nicht funktioniert, das hat perfekt funktioniert :)
Brian sagt Reinstate Monica
6

Ich verwende den Raspbian-Stretch-Build vom 07.09.2017 und habe das gleiche Problem festgestellt. Dies konnte ich jedoch überwinden, indem ich in raspi-config ging und im Menü "Boot Options" die Option "Wait for network at boot" aktivierte.

Chris
quelle
1
Dies ist tatsächlich sehr hilfreich, ich hatte Probleme, dass selbst wenn Boot alles OK sagte, es nur nicht gemountet oder Ordner angezeigt
Alfred Espinosa
3

-Verwenden Sie Schrägstriche (/), um das Problem NICHT zu beheben.
-Das Hinzufügen der Option _netdevzu meinem /etc/fstabEintrag hat das Problem auch NICHT für mich behoben .

Was ich getan habe, um dieses Problem zu beheben (auf meinem Pi3), ist zu ändern, /etc/rc.localum 20 Sekunden zu schlafen (durch Aufrufen sleep 20) und dann anzurufen mount -a. Auf diese Weise erzwinge ich, obwohl das Netzwerk noch NICHT verbunden ist, wenn das System die fstab-Datei zum ersten Mal liest, so dass der Ladevorgang fehlschlägt, dass das System hier 20 Sekunden wartet (wobei dem Netzwerk Zeit zum Herstellen der Verbindung gegeben wird), und erzwinge dann einen mount -aerneuten Aufruf um alle Laufwerke in der fstabDatei zu mounten .

So /etc/rc.localsieht meine Datei jetzt aus:

#!/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

Erledigt! Es funktioniert jetzt perfekt für mich!

Verweise:

Gabriel Staples
quelle
Verbinden Sie sich über WLAN?
cbcoutinho
Ja, ich benutze WiFi anstelle von Ethernet.
Gabriel Staples
Das ist in der Tat sehr seltsam, hat aber wahrscheinlich nichts mit meinem Problem zu tun. Ich habe drei Netzlaufwerke, die ich über ein Ethernet-Kabel verbinden möchte - kein WLAN. Einer der Laufwerksnamen hat ein Sonderzeichen und wird daher nach einem Neustart nicht verbunden. Das Ausführen sudo mount -alöst das Problem, aber ich bin gespannt, warum es beim Booten nicht funktioniert. Ich werde versuchen, Ihre Lösung und sehen, ob das hilft.
cbcoutinho