WLAN. NAS Laufwerke mounten per fstab. Netz noch nicht da

Hinweis: In dem Thema WLAN. NAS Laufwerke mounten per fstab. Netz noch nicht da gibt es 18 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Hallo Leute,


    Situation: Laptop, WLAN, Laufwerke eines NAS sollen beim start eingehängt werden. Aktuell über fstab.


    Beobachtung: Die Laufwerke werden beim starten nicht gemountet, lassen sich aber, nachdem die Verbindung mit dem WLAN etabliert ist, per `mount` einhängen.


    Vermuteter Grund: Die Verbindung zum WLAN kommt zu spät, also nach dem Lesen der fstab.


    Soweit die Lage und ich bin etwas ratlos. Welche Möglichkeiten habe ich, dass die Laufwerke beim start eingehängt werden?


    - Script das nach dem hochfahren die Laufwerke einhängt?

    - Irgendwas mit systemd? Also Laufwerke nicht per fstab sondern per systemd (das auf die Verbindung mit dem WLAN wartet)?

    - … ?

    - was ganz anderes?


    Vielen Dank.


    ciao, Stefan

    Für den Inhalt des Beitrages 309997 haftet ausdrücklich der jeweilige Autor: Sauerkraut

  • _netdev als Option in der fstab sollte sein was du willst. Falls das WLAN ganz zu spät kommt müsstest du dir eventuell ein Unitfile schreiben, aber probier mal.


    *edit*: Ja, _netdev mit einem _ am Anfang.

    Für den Inhalt des Beitrages 309998 haftet ausdrücklich der jeweilige Autor: neoghb

  • Noch kurz ein Nachtrag als eigenen Post weils mir eingefallen ist, und ich jetzt dann nicht mehr ins Forum komme bis Abend: Im Networkmanager bei deinem WLAN die Einstellung "für alle Nutzer erlauben" (oder so ähnlich habs grad nicht im Kopf) aktivieren. Natürlich nur, wenn das für dich kein Sicherheitsproblem ist. Dann verbindet er sich mit dem WLAN, noch bevor sich der Nutzer einlogt. Könnte auch helfen, falls es einfach zu lange dauert bis ein Netzwerk vorhanden ist.

    Für den Inhalt des Beitrages 309999 haftet ausdrücklich der jeweilige Autor: neoghb

  • Ah! Mercy, ich nähere mich an.


    Wie ich hier https://linux.die.net/man/8/mount entnehmen kann ist `_netdev` ein Schalter für den `mount` Befehl.


    Die Zeile in der fstab sieht so aus.

    Code
    //192.168.0.252/laufwerk/ /mnt/nas/laufwerk cifs rw,uid=1000,gid=100,user,username=xxx,password=xxx,domain=WORKGROUP,vers=3.0,file_mode=0644,dir_mode=0755 0 0

    Die Optionen nach `cifs` beziehen sich auf den Treiber, richtig? Welches sind die Schalter für `mount`, bzw. wo muss das `_netdev` platziert werden?

    Für den Inhalt des Beitrages 310000 haftet ausdrücklich der jeweilige Autor: Sauerkraut

  • nach dir_mode=0755, also:


    Code
    //192.168.0.252/laufwerk/ /mnt/nas/laufwerk cifs rw,uid=1000,gid=100,user,username=xxx,password=xxx,domain=WORKGROUP,vers=3.0,file_mode=0644,dir_mode=0755,_netdev 0 0


    Aber probier zuerst das mit dem NetworkManager, also von meinem 2. Post. Eigentlich sollte systemd selbst erkennen, dass cifs ein Network FS ist. Da hat der zweite Tip mehr Chance, aber schaden tut es auf jedenfall nicht!

    Für den Inhalt des Beitrages 310001 haftet ausdrücklich der jeweilige Autor: neoghb

  • Schade … das mit dem `_netdev` hat nicht direkt funktioniert. Wenn ich mir die Ausgabe bei booten anzeigen lasse, kommen am Ende zwei oder drei Einträge mit rotem "Failure" oder "Fail" am Anfang. Allerdings sind die halt schnell wieder verschwunden.


    Jetzt wollte ich mir die anzeigen lassen

    Code
    journalctl --boot > bootlog.txt

    Aber irgendwie sieht mir das nicht aus wie was da am Bildschirm runter rauscht. Auch mit `journalctl --boot | grep ailed` finde ich jetzt nicht direkt einen Treffer der auf das mounten der Laufwerke hindeutet.


    Vor der Problemlösung steht jetzt die Ursachenerkennung. Nur halt wieder nächstes Problem, wo finde ich denn die Dokumentation des Vorgangs?

    Für den Inhalt des Beitrages 310003 haftet ausdrücklich der jeweilige Autor: Sauerkraut

  • Die /etc/fstab wird als systemd gemountet, daher kannst du dir dass anzeigen lassen:


    Zeile in der /etc/fstab:

    Code
    //192.168.0.254/fritz.nas /mnt/fritznas cifs vers=3.1.1,noserverino,username=xxx,password=yyy,uid=1000,gid=100 0 0

    Der systemd Service ist benannt nach dem Mountpoint /mnt/fritznas


    Jetzt in der Konsole:


    Code
    systemctl status mnt-

    Und jetzt nicht Enter drücken, sondern TAB bzw. TAB-TAB, ist die Completion.

    Dann wird dir angezeigt, was du noch in dem obigen Befehl angeben musst.


    Bei mir mit 2x TAB

    Code
    linux64:/home/stephan # systemctl status mnt-
    mnt-1TB.mount       mnt-2TB.mount       mnt-fritznas.mount   
    linux64:/home/stephan # systemctl status mnt-

    Damit werden 3 Ergänzungen des vorangegangenen Befehls angezeigt.

    Jetzt gebe ich die nächsten paar Zeichen ein:


    Code
    linux64:/home/stephan # systemctl status mnt-
    mnt-1TB.mount       mnt-2TB.mount       mnt-fritznas.mount   
    linux64:/home/stephan # systemctl status mnt-fr

    ergibt bei 1x TAB (da jetzt nur noch 1 Completion von den 3 Ersetzungen passt)


    Code
    linux64:/home/stephan # systemctl status mnt-
    mnt-1TB.mount       mnt-2TB.mount       mnt-fritznas.mount   
    linux64:/home/stephan # systemctl status mnt-fritznas.mount


    Jetzt ist der Befehl komplett und Enter ergibt:


    1xTAB ergänzt den Befehl, falls die Ergänzung eindeutig ist

    2xTAB zeigt alle mit den eingegebenen Zeichen mögliche Ergänzungen.


    Diese Completion benutze ich fast immer, sie kann Verzeichnisse ergänzen, Befehle ergänzen und falls TAB oder TAB-TAB nicht funktioniert, weiß ich, das irgendwas an der Zeichenkette falsch ist.......

    Für den Inhalt des Beitrages 310004 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Sehr geil Stephan, vielen Dank. Ist das bei dir auch mit WLAN-Verbindung?


    Das die fstab in eine systemd unit umgewandelt wird, war mir nicht bewusst. Jetzt habe ich folgende Ausgabe (abgetippt)

    Code
    systemd[1]: Mounting /mnt/nas/laufwerk...
    mount[1761]: mount error(101): Network is unreachable
    systemd[1]: Failed to mount /mnt/nas/laufwerk

    - Das bestätigt, dass das Netz noch nicht da ist, richtig?

    - Heißt "unreachable" dass kein Netz gefunden wurde oder dass es mangels erfolgreicher Verbindung nicht erreichbar ist?

    - Der Schalter `_netdev` ist vorhanden, wirkt sich aber nicht aus wie erwartet. Vermutlich irgendwas mit systemd?


    Die systemd unit-Datei habe ich unter /run/systemd/generator gefunden

    Code
    [Unit]
    Before=remote-fs.target


    Before/After steuern also die Reihenfolge, aber ohne Rücksicht auf Status er vorher ausgeführten Einheiten.


    Heißt, dass diese Einheit vor "remote-fs.target"[1] aufgerufen werden soll. Allerdings weiß ich jetzt nicht was dieses "target" macht und würde gefühlt annehmen, dass da irgendwas mit "Requires" (eine funktionierende Verbindung zum WLAN) sein sollte?


    … ähm ja … ich brauche da deutlich mehr Eier, im Moment sind die klitzeklein.

    […] Networkmanager […] "für alle Nutzer erlauben" […] Dann verbindet er sich mit dem WLAN, noch bevor sich der Nutzer einloggt. Könnte auch helfen, falls es einfach zu lange dauert bis ein Netzwerk vorhanden ist.

    Wird eine Verbindung zum WLAN erst hergestellt wenn man sich einloggt? Moment mal, also während dem ganzen Bootgeraffel, ob mit oder ohne systemd kommt überhaupt keine Verbindung mit dem WLAN zustande? Weil z.b. das Passwort im NetworkManager irgendwo rumeiert und erst der stellt dann die Verbindung damit her wenn sich angemeldet wird?


    EDIT: kann systemd-networkd[2] hier helfen?


    [1] https://www.freedesktop.org/so…ial.html#remote-fs.target

    [2] https://www.freedesktop.org/so…test/systemd.network.html

    Einmal editiert, zuletzt von Sauerkraut ()

    Für den Inhalt des Beitrages 310007 haftet ausdrücklich der jeweilige Autor: Sauerkraut

  • Normal wird der Wlan Schlüssel in einer so genannten Brieftasche gespeichert, z.B. bei Plasma in Kleopatra.

    Das Wlan wird erst beim erreichen der grafischen Oberfläche entsperrt (daher auch wahrscheinlich deine Fehlermeldung), es sei denn, du kreuzt an:

    Zitat

    […] Networkmanager […] "für alle Nutzer erlauben" […]

    Dann wird der Netzwerkschlüssel unverschlüsselt in /etc/NetworkManager/system-connections gespeichert, aber lesen kann die eh nur root:


    Für den Inhalt des Beitrages 310008 haftet ausdrücklich der jeweilige Autor: Sauerland