Frage:
Meine Windows-Freigabe wird während des Startvorgangs nicht bereitgestellt
Herohtar
2014-02-22 06:55:50 UTC
view on stackexchange narkive permalink

Ich habe / etc / fstab eine Zeile hinzugefügt, um beim Booten automatisch eine Windows-Freigabe bereitzustellen. Ich habe es mit sudo mount -a getestet und das Mount wird korrekt angezeigt und ich kann wie erwartet darauf zugreifen. Beim Neustart funktioniert der Mount jedoch nicht. Während des Startvorgangs werden keine Fehlermeldungen angezeigt. es scheint einfach stillschweigend zu scheitern.

Was könnte das Problem sein? Das einzige, was ich weiß, ist, dass es einige Sekunden dauert, bis die Eingabeaufforderung angezeigt wird, bevor mein WLAN eine Verbindung herstellt. Daher scheint es möglich, dass dies aus diesem Grund fehlschlägt. Wenn dies der Fall ist, wie kann ich die Verbindung automatisch herstellen, sobald das WLAN verfügbar ist?

Sechs antworten:
#1
+4
Cary
2016-05-28 20:50:03 UTC
view on stackexchange narkive permalink

Ich hatte auch dieses Problem (Windows-Freigaben konnten beim Booten nicht bereitgestellt werden). Ich habe im Raspberry Pi-Konfigurationstool eine Option gefunden, die mein Problem behoben hat.

1) Starten Sie X Windows (Startx von der Terminal-Shell). 2) Klicken Sie auf die Schaltfläche "Menü". 3) Wählen Sie Einstellungen-> Raspberry Pi-Konfiguration. 4) Wählen Sie die Registerkarte System. 5) Es gibt eine Option namens "Netzwerk beim Booten". Aktivieren Sie das Kontrollkästchen "Auf Netzwerk warten" und klicken Sie auf "OK".

Hinweis: Sie müssen noch einen richtigen / etc / fstab-Eintrag für die Windows-Freigabe haben.

Ich paraphrasiere dich in meinem Beitrag, das ist so gut. https://raspberrypi.stackexchange.com/questions/60035/how-can-i-easily-access-windows-shares-from-the-rpi3
#2
+3
Maxx Daymon
2014-02-23 20:31:29 UTC
view on stackexchange narkive permalink

Bereitstellungen in fstab, die nicht bereit sind (WLAN), schlagen fehl und werden übersprungen, wie Sie sehen.

Es gibt mindestens drei Lösungen , die für dieses Szenario entwickelt wurden :

Das erste ist die Verwendung der alten und ehrwürdigen Autofs , die genau für diese Art von Problem entwickelt wurden. Es gibt viele Möglichkeiten, Autofs für das Mounten von Netzwerkfreigaben zu konfigurieren, von fest codierter Standortzuordnung bis hin zu dynamischen Lösungen vom Typ "Netzwerknachbarschaft". Überprüfen Sie Ihre Distribution (Raspbian, Arch, Fedora) auf Ansätze / Redewendungen. Christopher Hill hat in seinem Blog hier einen sehr flexiblen Ansatz dokumentiert: Automatische Bereitstellung von Windows-Freigaben. Sie können dies auch auf den Websites Arch und Debian nachlesen.

Wenn autofs speziell für die automatische Bereitstellung von Dateisystemen entwickelt wurde, systemd ist ein allgemeineres System, das Aktionen basierend auf Ereignissen ausführt und das Ein- und Aushängen von Dateisystemen basierend auf Netzwerksichtbarkeit / -verfügbarkeit sicherlich ein solches Beispiel ist. Seit Februar 2014 hat Debian systemd als Standard-Init-System gewählt. Daher wird dieser Ansatz bevorzugt, da systemd in Debian / Raspbian integriert wird. Wenn Sie systemd bereits verwenden, können Sie diesen Ansatz Autofofs vorziehen.

Der letzte Ansatz, den ich nur empfehlen würde, wenn die beiden vorherigen aus irgendeinem Grund nicht funktionieren, ist die Verwendung der automatischen Sicherung netsmbfs . Dieser Ansatz führt zu einer deutlich schlechteren Leistung als die kernelbasierten Lösungen. Die Arch Wiki Samba Seite spricht diesen Ansatz an.

#3
+1
Matouš Vrba
2014-02-22 21:49:50 UTC
view on stackexchange narkive permalink

Wenn Sie es mit sudo mount -a mounten können, können Sie diese Zeile möglicherweise hinzufügen, um sie beim Systemstart auszuführen (z. B. zum ~ / .bash_profile , das nach der Anmeldung ausgeführt wird).

Um auf das WLAN zu warten, versuchen Sie diesen Thread unter askubuntu.com.
Hier ist das Skript von diesem Link ( wenn es aus irgendeinem Grund kaputt ging):

  #! / bin / bashwhile true; do # testing ... LC_ALL = C nmcli -t -f GERÄT, STATE dev | grep -q "^ wlan0: verbundenes $" wenn [$? -eq 0]; dann brechen Sie else # nicht verbunden, schlafen Sie für einen zweiten Schlaf 1 fidone # jetzt verbunden, führen Sie das Skript  

aus. Sie können auch ein anderes Programm als nmcli und grep das Ergebnis auf ähnliche Weise, wenn Sie Lust dazu haben ...

#4
+1
chopsuei3
2015-07-19 05:34:16 UTC
view on stackexchange narkive permalink

Ich hatte die gleichen Probleme mit meinem Pi - ich konnte "sudo mount -a" ausführen und die CIFS-Freigaben wurden normal aus den Einträgen in / etc / fstab bereitgestellt, aber beim Neustart wurden die Freigaben beim Booten nicht bereitgestellt

Ich habe dmesg überprüft und einige Socket-Fehler festgestellt und festgestellt, dass das Netzwerk nicht aktiv ist, aber ich konnte die Freigaben nicht bereitstellen, nachdem das Netzwerk gestartet wurde. Ich fand eine Menge ähnlicher Threads und versuchte jeden der Vorschläge, einschließlich -

  • Hinzufügen verschiedener Parameter zum fstab-Eintrag (_netdev, Benutzer, Noser, Nosuid, die Liste geht weiter, aber keiner schien um zu helfen)
  • das Hinzufügen von Skripten zu /etc/network/if-up.d/ und ein Post-Up-Eintrag in / etc / network / interfaces hat wiederum nicht geholfen, der gleiche Fehler
  • Ich habe angefangen, Autofs auszuprobieren, habe dies jedoch aufgegeben, da es zu komplex schien, und meine ersten Einrichtungsversuche sind fehlgeschlagen.
  • Der Vorschlag, ein Skript zu ~ / .bash_profile hinzuzufügen, hat mir geholfen Als ich merkte, dass ich nmcli nicht installiert hatte, musste ich im Grunde das Netzwerkmanager-Paket installieren.

    Ich führte "sudo apt-get update" und dann "sudo apt-get install network-manager" aus "und dann den Pi neu gestartet.

    Erfolg! Die Freigaben wurden gemountet!

    Ich vermute, dass einige der vom Netzwerk-Timing abhängigen Funktionen im Betriebssystem den Netzwerk-Manager auf die eine oder andere Weise verwenden. Ich hoffe, dass dies jemandem hilft, da ich dies nicht konnte Lassen Sie meinen Pi beim Booten CIFS-Freigaben bereitstellen, was grundlegend genug schien.

    Könnten Sie einen Eintrag aus Ihrer / etc / fstab posten? Ich habe den Netzwerkmanager installiert, aber er funktioniert immer noch nicht ohne zusätzliche Problemumgehungen (siehe meine Antwort auf die ursprüngliche Frage) ...
    #5
      0
    Matthias
    2016-01-04 04:21:32 UTC
    view on stackexchange narkive permalink

    Dasselbe gilt für mich - das Ausführen von dmesg hat gezeigt, dass die Freigaben bereitgestellt wurden, bevor das Netzwerk verfügbar war, und daher die Bereitstellungen fehlgeschlagen sind.

    Was hat getan Am Ende arbeitete ich mit einer Lösung, die in [Gelöst] gefunden wurde - Samba-Freigabe kann nicht automatisch von fstab bereitgestellt werden: Hinzufügen von auto, x-systemd.automount zu den Einträgen.

    Meine Mounts sehen jetzt so aus:

      //192.168.178.2/share / shared / share / share cifs auto, x-systemd.automount, user, uid = pi, gid = Benutzer, rw, suid, Anmeldeinformationen = / etc / cifspwd, iocharset = utf8, _netdev 0 0  

    Ich habe jedoch keine Ahnung, was dieser Code tut, warum er funktioniert oder ob er funktioniert ist eine gute Idee, es zu verwenden.

    Hat bei Raspbian Jessie nicht für mich gearbeitet. Da meine (verkabelte) Netzwerkschnittstelle beim Laden von fstab anscheinend nicht verfügbar ist, blieb mein Boot hängen und wartete darauf.
    #6
      0
    Mikey
    2017-02-03 07:46:53 UTC
    view on stackexchange narkive permalink

    Ich bin auf genau das gleiche Problem gestoßen. So habe ich es gelöst (was ich als einfachste Lösung bezeichnen würde):

    Wenn Sie Raspbian-Jessie ausführen, wählen Sie nach dem Booten von PIXEL das Menü 'Start'-> Einstellungen-> Raspberry Pi-Konfiguration

    Neben dem Netzwerk beim Booten: Aktivieren Sie das Kontrollkästchen "Auf Netzwerk warten".

    Dies hat das Problem für mich behoben, da Raspbian auf eine Netzwerkverbindung wartet, bevor die Laufwerke in fstab bereitgestellt werden.



    Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
    Loading...