Probleme mit nis (startet vor rpcbind/zu früh)

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Moin moin,

    für einen CIP-Pool probier ich grad paar Sachen mit einem Raspberry Pi B+ aus. Darauf läuft:

    Code
    root@pi:~# lsb_release -a
    No LSB modules are available.
    Distributor ID: Raspbian
    Description: Raspbian GNU/Linux 8.0 (jessie)
    Release: 8.0
    Codename: jessie
    root@pi:~# cat /proc/version 
    Linux version 4.1.19+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #858 Tue Mar 15 15:52:03 GMT 2016

    Das Accountmanagement läuft über nis. Prinzipiell funktionierts, ist aber nicht "bootfest":

    Nach dem Booten jedes mal den Service neuzustarten ist keine Option. Nach vielen Stunden google, Foren, Bugreports bin ich (hoffentlich) auf der richtigen Fährte. Ich vermute, dass nis zu früh startet. Das legt der Vergleich mit den Startzeiten von rpcbind nahe:

    ypbind will um 17:01:11 auf den portmapper zugreifen, welcher aber erst um 17.01.13 von rpcbind bereitgestellt wird. Das Problem scheint bekannt zu sein:
    https://bugs.launchpad.net/ubuntu/+source…nd/+bug/1558196
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805167
    https://lists.alioth.debian.org/pipermail/pkg-…ary/010711.html

    Allerdings war keiner der Lösungsansätze erfolgreich. Die systemd Version beherrscht weder die Befehlsparameter systemctl edit noch systemctl add-wants. Im Verzeichnis /lib/systemd/system/ ist zwar die rpcbind.target Unit Datei vorhanden, die rpcbind.service aber nicht. Eine rpcbind.socket Datei gibt's auch nirgends.

    Daher mal die Unit Dateien gesucht:

    Hab dann in der nis.service Datei rpcbind.service unter After und Wants eingetragen. Allerdings scheinen die Dateien in den */generator* Ordnern temporär zu sein, jedenfalls war nach nem reboot wieder alles wie zuvor.

    So, was nun? Wie bringe ich nis bei erst nach rpcbind zu starten? Die letzte Idee war, die Unit Dateien selbst anzulegen, allerdings weiß ich nicht was genau da rein gehört.

    Hoffentlich kann mir jemand helfen :) :helpnew:

  • Code
    Loaded: loaded (/etc/init.d/nis)

    Was steht in der "/etc/init.d/nis"-Datei, in der Zeile "# Required-Start: ..."?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Stimmt, vergessen:

    Hab aber auch wo gelesen, dass das Problem trotz $portmap auftritt.

  • Code
    ### BEGIN INIT INFO
    # Provides:             ypbind ypserv ypxfrd yppasswdd
    # Required-Start:       $network $portmap $remote_fs

    Hab aber auch wo gelesen, dass das Problem trotz $portmap auftritt.

    OK. dann versuch mal trotzdem, auch mit "$all" in dieser Zeile. Z. B.:

    Code
    # Required-Start:       $network $portmap $remote_fs $all

    EDIT:

    Siehe jetzt auch die Ausgaben von:

    Code
    systemd-analyze critical-chain nis.service
    systemd-analyze critical-chain rpcbind.service
    systemd-analyze blame

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (10. April 2016 um 09:56)

  • OK. dann versuch mal trotzdem, auch mit "$all" in dieser Zeile. Z. B.:

    Code
    # Required-Start:       $network $portmap $remote_fs $all


    Hat leider nichts gebracht :(


    Siehe jetzt auch die Ausgaben von:

  • Code
    root@pi:~# systemd-analyze critical-chain nis.service
    The time after the unit is active or started is printed after the "@" character.
    The time the unit takes to start is printed after the "+" character.
    
    
    nis.service +12.224s
    └─rpcbind.target @16.579s
      └─rpcbind.service @15.628s +919ms

    Ich denke nis startet nicht zu früh, aber rpcbind ist zu spät (d. h. erst nach dem nis schon gestartet ist) aktiv (... nach 16.579s).

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • Ich denke nis startet nicht zu früh, aber rpcbind ist zu spät (d. h. erst nach dem nis schon gestartet ist) aktiv (... nach 16.579s).

    Hm, okay, eine Idee wie ich das ändern könnte?

    Edit:

    Ah, hätte systemctl enable nis nochmal ausführen müssen, nachdem ich die ini Datei bearbeitet hab. Allerdings geht's weder mit $all noch all:

    Code
    root@pi:~# systemctl enable nis
    Synchronizing state for nis.service with sysvinit using update-rc.d...
    Executing /usr/sbin/update-rc.d nis defaults
    insserv: Service all has to be enabled to start service ypbind
    insserv: exiting now!
    update-rc.d: error: insserv rejected the script header
    *** Error in `systemctl': double free or corruption (fasttop): 0x809cfe88 ***
    Abgebrochen

    Wenn ich $rpcbind angebe wird der Service zwar akzeptiert/eingetragen, behebt das Problem aber nicht.

    Hab eben mal sleep 5 vor den Schleifen eingefügt. Funktioniert zwar, ist aber eher ein Workaround Kategorie Murks, oder? :daumendreh2:

    Einmal editiert, zuletzt von Otie (10. April 2016 um 13:09)


  • Hab eben mal sleep 5 vor den Schleifen eingefügt. Funktioniert zwar, ist aber eher ein Workaround Kategorie Murks, oder? :daumendreh2:

    Nein, das ist z. Zt. kein Murks.
    Andere haben mit systemd auch Probleme. Z. B., mein PI3 muss beim booten, systemd-networkd.service restarten, damit das eth0-Interface seine statische IPv4-Adresse bekommt.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Danke für die Hilfe, funktioniert jetzt eigentlich :)

    Allerdings ist der Lightdm greeter noch ziemlich langsam. Es dauert ne Weile nachdem der Benutzername eingegeben wurde und man via Tab ins Passwortfeld wechseln will. Das Einloggen geht auch länger als erhofft. Dabei wird nur ein Skript ausgeführt (Tür über serielle Schnittstelle öffnen, ne xmessage Anzeige und Session beendet). Mal schauen an was das liegen könnte...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!