[geteilt] Init-System Flamewar

  • Nach der Debian-Abstimmung wechselt Ubuntu jetzt auch auf systemd: http://www.heise.de/open/meldung/U…sm.feed.tw.open

    Finde ich persönlich ziemlich überraschend, war Canonical Politik bei Mir oder Unity ja dann doch eher auf Alleingang hin. Damit ist systemd wohl der Quasi-Standard geworden, ausser Gentoo gibt es meines Wissens keine grössere Distribution mehr, die nicht standardmässig mit systemd daherkommt.

    Einmal editiert, zuletzt von gandro (14. Februar 2014 um 16:54)


  • Nach der Debian-Abstimmung wechselt Ubuntu jetzt auch auf systemd: http://www.heise.de/open/meldung/U…sm.feed.tw.open

    Finde ich persönlich ziemlich überraschend, war Canonical Politik bei Mir oder Unity ja dann doch eher auf Alleingang hin. Damit ist systemd wohl der Quasi-Standard geworden, ausser Gentoo gibt es meines Wissens keine grössere Distribution mehr, die nicht standardmässig mit systemd daherkommt.

    Interessant zu sehen. Wobei Ich gestehen muss, dass Ich etwas unschlüssig bin, ob systemd so ne tolle Idee ist. Es soll wohl viele Leute geben, die systemd eher negativ beurteilen, weil es wohl ein ziemlicher Klumpen Software sein soll. (Im Sinner von es macht so viel, was man eigentlich auf mehrere kleine Daemons aufteilen könnte.)


    Meine Beiträge stehen unter der MIT-Lizenz:D


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

    Einmal editiert, zuletzt von tk1908 (14. Februar 2014 um 17:14)

  • Da systemd viel mehr macht als reines init, widerspricht es ja auch total der Unix-Philosophie "Jedes Tool nur für eine spezifische Aufgabe" und ist dementsprechend unnötig komplex. Verstehe auch nicht, warum man ständig alles ändern muss. Init und upstart funktionierten doch.

  • Also ich hab mir ja heute auch mal speziell OpenRC vs. systemd reingezogen, und irgendwie schien alles nur aus Flamewar zu bestehen. Speziell jetzt mal https://wiki.debian.org/Debate/initsys…enRC_vs_Systemd und http://wiki.gentoo.org/wiki/Talk:Comparison_of_init_systems (letzteres sieht so aus wie „systemd kann foo und bar und baz und qux und OpenRC und Upstart können das natürlich nicht, aber dafür ist OpenRC eine GANZ TOLLE BSD-LIZENZ”

    PGP-Key E384 009D 3B54 DCD3 21BF  9532 95EE 94A4 3258 3DB1 | S/MIME-Key 0x1A33706DAD44DA
    G d-@ s+:- a--- C+++ UB+L++ P--- L++@ E-@>++ W+ N o? K? w>++ !O !M !V PS+++ PE-- Y+>++ PGP++>+++ !t 5? X? !R tv b+++>++++ DI !D G>+ e>+++ h !r>++ !z
    „Die Aachener gelten als Erfinder des 4. Hauptsatzes der Thermodynamik: ‚Thermo schreibt man zweimal.“‘
    “Saying that Java is good because it works on all platforms is like saying oral sex is good because it works on all sexes.”
    „Es gibt 10 Sorten von Leuten: Die einen verstehen das Binärsystem, die anderen nicht.“
    „Manche Männer lieben Männer, Manche Frauen eben Frauen; Da gibt's nix zu bedauern und nichts zu staunen; Das ist genau so normal wie Kaugummi kauen; Doch die meisten werden sich das niemals trauen“


  • Nach der Debian-Abstimmung wechselt Ubuntu jetzt auch auf systemd: http://www.heise.de/open/meldung/U…sm.feed.tw.open

    Finde ich persönlich ziemlich überraschend, war Canonical Politik bei Mir oder Unity ja dann doch eher auf Alleingang hin. Damit ist systemd wohl der Quasi-Standard geworden, ausser Gentoo gibt es meines Wissens keine grössere Distribution mehr, die nicht standardmässig mit systemd daherkommt.

    Slackware? :trollface:

    @Diskussion: Ja klar funktionieren Init und Upstart. Zu Upstart will ich nichts sagen, weil ich da keine Ahnung von hab, aber Init ist unparallelisiert und dadurch auf modernen Systemen unnötig lahm.
    Auch der Umgang mit den systemd-services erschließt sich mir als durchschnitts-User viel eher als die alte Init-Konfiguration.

  • Das Hauptproblem am alten SysV Init ist dessen Prozessmanagement: Ein Service bei sysvinit ist ein Shellscript. Das heisst, das Shellscript muss sicherstellen dass die Kindprozesse und Forks sauber verwaltet werden, PID-Dateien managen oder anlegen und mit sonstigen Quirks von Programmen umgehen. Dazu sind diese Initscripte dann auch noch distributionsabhängig gewesen (Debian hat den start-stop-daemon Helper, Arch hat eine Bibliothek von bash-Helpern); das ist nicht nur langsam, das ist auch total unwartbar und komplex.

    Wie im verlinkten Artikel schon erwähnt: systemd ist nicht die erste oder einzige Antwort auf ein solches Problem, es gibt andere Systeme die ähnlich funktionieren; aber sysvinit selber hat das Problem nie gelöst.


  • Klappt auf den ganzen Unixen einwandfrei, da wirds ja wohl auch Linux hinkriegen.


    sysvinit läuft nur auf Linux? Debian kFreeBSD verwendet extra Kompatibiliätslayer.

    Nachtrag: Die restlichen BSD-Initsysteme kenne ich zuwenig. Sagt ja keiner dass es gar nicht funktioniert, lief ja bisher auch. Ne saubere Lösung war es trotzdem nicht, dass weiss jeder der schon mal selber ein Initskript selber geschrieben hat.

    Einmal editiert, zuletzt von gandro (14. Februar 2014 um 22:15)


  • Da systemd viel mehr macht als reines init, widerspricht es ja auch total der Unix-Philosophie "Jedes Tool nur für eine spezifische Aufgabe" und ist dementsprechend unnötig komplex. Verstehe auch nicht, warum man ständig alles ändern muss. Init und upstart funktionierten doch.

    Weil wir nicht mehr in den 70ern leben. Leute wie du sind der Grund, dass der Linux Desktop lange Zeit keine Fortschritte gemacht hat und immer noch gebremst scheint, obwohl gerade ne Menge am Laufen ist. Am besten schmeißt du deine Macs auch gleich weg (oder installierst Debian Etch, ist ja schön alt), denn systemd wurde von launchd inspiriert, soweit ich weiß.

    Ich verstehe nicht, wie man in deinem Alter schon so verklemmt sein kann, echt mal.


  • Na, wofür steht das sysv wohl? http://de.wikipedia.org/wiki/System_V


    Du verwechselst da was. sysvinit ist ein GNU-Projekt und lief nie unter System V, ist ja GPL. Es wurde explizit für Linux entwickelt.

    Es ist vom System V Init-System inspiriert (im Gegensatz zu den BSD Style-Inits), ist aber Linux-only weil es procfs benötigt. Siehe: https://www.winhistory-forum.net/showthread.php…75029#pid375029

    Einmal editiert, zuletzt von gandro (14. Februar 2014 um 22:10)

  • Weil wir nicht mehr in den 70ern leben.

    Es entspricht also den 70er Jahren, jedem Programm nur eine Aufgabe zuzuweisen und nicht so bloatdinger mit tausneden Funktionen zu entwickeln? Dann will ich in die 70er.

    Leute wie du sind der Grund, dass der Linux Desktop lange Zeit keine Fortschritte gemacht hat

    Ich dachte wir reden hier über Init-Systeme? Was haben die mit dem Desktop zu tun?

    Am besten schmeißt du deine Macs auch gleich weg (oder installierst Debian Etch, ist ja schön alt)

    Ich hab irgendwie die Stelle meines Beitrags vergessen, wo ich schreibe dass ein System alt sein muss. Magst du sie mir nochmal zeigen?

    denn systemd wurde von launchd inspiriert, soweit ich weiß.

    Hör mir auf mit launchd. Ich wollte mir einen Eintrag für einen einzigen Dienst (uptimed) erstellen und musste dann dafür massig Doku lesen. Mal eben nen Dienst-Startscript hinzufügen ist da nicht, unnötig kompliziert.

    Ich verstehe nicht, wie man in deinem Alter schon so verklemmt sein kann, echt mal.

    Was hat das mit Verklemmtheit zu tun, wenn ich der Meinung bin, dass jedes Systemtool nur EINE Aufgabe haben soll? (Aus genau dem Grund bin ich auch gegen Emacs btw)

  • Ich konnte mich nie mit System V-artigen inits anfreunden, schon allein dieses bekloppte Runlevelkonzept funktioniert vorne und hinten nicht.

    • Warum haben die Runlevels eine Zahl, die erstmal überhaupt nix darüber verrät, was darin passiert?
    • Warum suggerieren sie eine Ordnung, die nicht existiert?

      • wenn ich im Konsolenmodus bin, muss ich nicht erst meine GUI starten, um zu rebooten, auch wenn 5 zwischen 3 und 6 liegt
      • warum sind 0 und 6 an verschiedenen Enden des Spektrums, auch wenn sie bis auf eine kleinigkeit vom Ablauf bis zum völligen Erliegen des OSes völlig identisch sind?
    • und warum gibt es neben all den Zahlen doch noch sowas wie runlevel "S"?


    Dazu noch der ganze Scheiß, dass man den Skripten pro Runlevel eine Reihenfolge basierend auf der Nummer im Dateinamen geben muss. Da ist BASIC-Programmierung aufm C64 strukturierter.

    Nur weil es genau eine Aufgabe macht und ziemlich einfach aufgebaut ist heißt es nicht, dass es nicht trotzdem völlig hirnverbrannte Konzepte enthält.


  • Wow, man muss lesen können! Das ultra Gegenargument.

    In der Tat. Moderne Init-Systeme kümmern sich selber um den Zustand der Dienste, anstatt wie bei sysvinit einem Satz Shell-Skripte mit gemeinsamer API zu verwenden, die sich bei jeder Ausführung diesen erst einmal selber zusammenklauben müssen. Dadurch fällt wiederum eine Menge Boilerplate-Code weg, der auf längere Sicht die Konfiguration vereinfacht.

    Beispiel Upstart, ein eventbasiertes Init-System:

    Beispiel systemd mit Socket Activation:


    Hör mir auf mit launchd. Ich wollte mir einen Eintrag für einen einzigen Dienst (uptimed) erstellen und musste dann dafür massig Doku lesen.

    Zugegeben, dass launchd mit .plist-Dateien ein XML-basierendes Konfigurations-Format benutzt, macht es ein wenig anwenderabstoßend, aber das ist vor allem ein Problem des Gesamt-Frameworks und nicht des Init-Systems. :D


  • Beispiel systemd mit Socket Activation:

    Merkt systemd selbst, dass dann sshd.service gestartet werden soll oder wo steht das?
    Übrigens, hab mir grad mal das OpenRC-Initskript für sshd angeschaut. Meine Güte.

    PGP-Key E384 009D 3B54 DCD3 21BF  9532 95EE 94A4 3258 3DB1 | S/MIME-Key 0x1A33706DAD44DA
    G d-@ s+:- a--- C+++ UB+L++ P--- L++@ E-@>++ W+ N o? K? w>++ !O !M !V PS+++ PE-- Y+>++ PGP++>+++ !t 5? X? !R tv b+++>++++ DI !D G>+ e>+++ h !r>++ !z
    „Die Aachener gelten als Erfinder des 4. Hauptsatzes der Thermodynamik: ‚Thermo schreibt man zweimal.“‘
    “Saying that Java is good because it works on all platforms is like saying oral sex is good because it works on all sexes.”
    „Es gibt 10 Sorten von Leuten: Die einen verstehen das Binärsystem, die anderen nicht.“
    „Manche Männer lieben Männer, Manche Frauen eben Frauen; Da gibt's nix zu bedauern und nichts zu staunen; Das ist genau so normal wie Kaugummi kauen; Doch die meisten werden sich das niemals trauen“

Jetzt mitmachen!

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