Ich habe eine Freigabe in fstab hinzugefügt, um auf ein Netzwerklaufwerk mit all meinen Dateien zuzugreifen ... fstab sieht folgendermaßen aus:
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
//192.168.1.73/disk1 /media/disk1 cifs username=pi,password=raspberry,_netdev,uid=1000,gid=1000,iocharset=utf8, 0 0
# a swapfile is not a swap partition, so no using swapon|off from here on, use dphys-swapfile swap[on|off] for that
Wenn ich sudo mount -a
das Netzwerklaufwerk erfolgreich laufe , wird es gemountet und ich kann cd /media/disk1
dann ls
eine Liste aller Ordner auf dem Netzwerklaufwerk richtig anzeigen.
Allerdings nach dem Neustart des pi, wenn ich cd
an diesen Ort und ls
wieder laufen , ist nichts da. Ich muss sudo mount -a
nochmal manuell ausführen , was dann das Laufwerk einhängt.
Ich habe dies schon oft in anderen Foren gesehen, und der Konsens scheint zu sein, dass die Einhängevorgänge in fstab zu früh erfolgen - bevor das Netzwerk eingerichtet wurde. Ich habe versucht, die Dinge umzusetzen, die ich verstehe - aber um ehrlich zu sein, geht mir vieles über den Kopf. Ich habe _netdev
der Zeile in fstab hinzugefügt, ich habe rootdelay=10
in /boot/cmdline.txt hinzugefügt , ich habe den Netzwerkmanager installiert ... nichts davon hat geholfen.
Und so drehe ich mich zu dir, um den Pi aus dem Fenster zu werfen - gefolgt von mir. Jede Hilfe, sehr geschätzt.
quelle
Ich hatte auch das gleiche Problem hinsichtlich der automatischen Bereitstellung eines Netzwerklaufwerks beim Booten. Ich habe versucht, den
mount -a
Befehl/etc/rc.local
nach der Bearbeitung hinzuzufügen,/etc/fstab
aber ohne Erfolg. Der Grund, warum es nicht funktioniert, ist, dass das Netzwerk nicht bereit ist, bevor dasmount -a
ausgeführt wird.Wie bereits erwähnt, besteht das Problem darin, dass fstab-Laufwerke bereitgestellt werden, noch bevor das Netzwerk aktiv ist. Um sicherzustellen, dass das Netzwerk während des Startvorgangs bereit ist, gibt es eine Option
Wait for Network at Boot
inraspi-config
.Lauf
und setzen Sie die
Wait for Network at Boot
Option aufSlow wait for network connection before completing boot
und starten Sie neu. Natürlich kann die Startzeit beeinträchtigt sein, aber wenn dies nicht kritisch ist, kann diese Methode verwendet werden.Nach dem Neustart können Sie überprüfen, ob das Netzwerklaufwerk automatisch gemountet wurde: schnelles Durchsuchen
ls /media/DRIVE_NAME
oderdf
quelle
/etc/rc.local
mount -a
Lösung zu verwenden, aber vergiss nicht, zuerst zu schlafen. Siehe meine Antwort, die ich gerade hier gepostet habe: raspberrypi.stackexchange.com/a/63690/49091Aktualisieren Sie Notizen, da dies bei Google aufgetreten ist. Ich litt unter der gleichen Reihe von Frustrationen, als ich meine Airport Time Capsule bestieg. Ich verwende Raspberry Pi 3B + auf Rasbian Stretch, das am 14. März 2018 mit Standard-GUI veröffentlicht wurde.
Hier ist meine fstab Codezeile:
//100.10.10.1/Data /mnt/timecapsule cifs username=********, password=******, vers=1.0, rw, uid=1000, iocharset=utf8, sec=ntlm 0 0
Im Laufe der Zeit scheinen sich einige Änderungen ergeben zu haben:
Nach 2 Tagen der Kämpfe ist meine nun endlich montiert und tut dies beim Booten!
quelle
Ein weiterer Trick, um dieses Problem zu lösen, besteht darin,
/etc/rc.local
den folgenden Befehl am Ende der Datei anzuhängen :Nach dem Neustart können Sie überprüfen, ob alles in Ordnung ist, indem Sie den folgenden Befehl eingeben:
und du wirst so etwas sehen:
quelle
Die
_netdev
Option in/etc/fstab
scheint für cifs-Freigaben überhaupt nichts zu bewirken. Diese Ressource ( https://help.ubuntu.com/community/Fstab ) scheint zu bestätigen, dass, wenn "_netdev - dies ist ein Netzwerkgerät" angezeigt wird, es nach dem Aufrufen des Netzwerks bereitgestellt wird. Aufrufen bereitgestellt Nur gültig mit fstype nfs ".Ich bevorzuge es, die
/etc/rc.local
Datei zu verwenden, um dies zu beheben, indem ich schlafe und dann darin aufrufemount -a
, anstattcrontab
oder dieWait for network at boot
Option in zu verwendenraspi-config
. Um jedoch die bekommen/etc/rc.local
fix an die Arbeit, vergessen Sie nicht zu schlafen, wie weiter unten erläutert.Was ich getan habe, um dieses Problem zu beheben (auf meinem Pi3), ist zu ändern,
/etc/rc.local
um 20 Sekunden zu schlafen (durch Aufrufensleep 20
) und dann anzurufenmount -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, hier 20 Sekunden zu warten (wobei dem Netzwerk Zeit zum Herstellen einer Verbindung gegeben wird) und dannmount -a
erneut aufzurufen um alle Laufwerke in derfstab
Datei zu mounten .So
/etc/rc.local
sieht meine Datei jetzt aus:Getan! Es funktioniert jetzt perfekt für mich!
Verweise:
quelle
In meinem Fall, dass ich einen Raspberry Pi 3 gekauft und Raspbian Stretch installiert habe , habe ich meine fstab mit meiner bevorzugten Anordnung von Netzwerklaufwerken wie folgt bearbeitet :
Also wann immer ich benutzt habe:
Jeder Antrieb in fstab aufgelistet würde automatisch montieren, dann habe ich das zu rc.local und mehreren anderen Orten , so dass ich den Inhalt dieser Laufwerke beim Start genießen konnte, lange Geschichte kurz, nichts funktionierte , bis ich eine Linie zum hinzuzufügen entschieden Wurzel crontab wie von:
Wählte meinen Editor (Nano in y Fall) Dann fügte diese Zeile am unteren Rand
In meinem Fall hat nach dem Neustart alles gut funktioniert. Hoffe das hilft euch raus.
HINWEIS:
Wenn Sie auf Probleme stoßen, können Sie immer Folgendes ausführen:
Und es gibt Ihnen einen Hinweis darauf, was lief und was nicht
quelle
Sie können die Attribute _netdev und comment = systemd.automount in die fstab einfügen, und beim Neustart funktioniert alles einwandfrei . Ich hatte das gleiche Problem beim Neustart.
quelle
Ich weiß, dass dies eine etwas verspätete Antwort ist, aber ich hatte das gleiche Problem, und das lag daran, dass das Netzwerk nicht aktiv war, als das
fstab
angerufen wurde. Ich habe dascrontab
erste Mal versucht und es hat funktioniert, aber ich dachte, es wäre ein bisschen chaotisch ...Hier gibt es einen tollen Beitrag , bei dem ein Skript verwendet wird
init.d
, um das Mount wie beim Booten auszuführen. Es funktioniert jetzt hervorragend für mich.quelle