InitWare als Systemd-Fork auf OpenBSD

InitWare unter OpenBSD

Ein oft vorgebrachter Kritikpunkt an Systemd ist, dass es nur unter einem Linux-Kernel und glibc läuft und nirgends sonst. Seit einiger Zeit ist mit InitWare ein Fork in Arbeit, um ein Systemd-ähnliches Initsystem auch auf BSD nutzen zu können. Der Fork verzichtet zudem auf die Linux-typischen Systemaufrufe. InitWare ist nicht der erste Systemd-Fork, 2014 gab es bereits uselessd mit der Zielsetzung, Systemd auf ein reines Init-System zurückzustutzen. Dieser Versuch wurde aber ein Jahr später wieder eingestellt.

Nicht alle Komponenten genutzt

Auch das modular aufgebaute InitWare nutzt nicht die gesamte Funktionalität von Systemd, sondern verzichtet unter anderem auf Komponenten wie Udev und Journald. Das generelle Prinzip der Units wurde übernommen, jedoch fokussiert InitWare stärker auf den Init-Prozess selbst. Units sind über eine einheitliche Schnittstelle verwaltbar, können Abhängigkeiten und andere Beziehungen zu anderen Einheiten angeben und werden automatisch vom InitWare-Manager, einem Dienstverwaltungssystem geplant. Hinzu kommt ein Anmelde- und Benutzer-Sitzungsmanager, der die Verwaltung von Benutzern und ihren Sitzungen erleichtert. Jedem Benutzer wird ein eigener Benutzerdienstmanager zur Verfügung gestellt, mit dem er seine eigenen Dienste verwalten kann.

Kompatibilität angestrebt

InitWare strebt ein hohes Maß an Kompatibilität mit den Kernschnittstellen von Systemd an. Unit-Dateien, die systemctl– und loginctl-Befehle, die hier iwctl und iwloginctl heißen, die D-Bus-APIs, die sd_notify-API und mehrere andere Schnittstellen sind alle Gegenstand dieses Ziels. Es gibt aber auch Punkte, in denen sich beide Systeme unterscheiden. InitWare ist sehr portabel und will wesentlich modularer sein. Zudem ist InitWare von wesentlich geringerem Umfang und beschränkt sich auf die Verwaltung von Systemen, Diensten, Sitzungen und Anmeldungen.

Nun auch auf OpenBSD bootbar

Bisher konnten Rechner unter DragonFly BSD, FreeBSD, NetBSD und GNU/Linux mit InitWare gestartet werden. Kürzlich kam nun OpenBSD hinzu. Eine Roadmap skizziert die nächsten Schritte des Projekts. Die Entwickler machen darauf aufmerksam, dass InitWare noch nicht bereit für den Einsatz ist und dass die Installation derzeit ein Verständnis der Feinheiten des Bootvorgangs der Plattform erfordert, es dagegen aber recht einfach sei, das System in einen nicht mehr startfähigen Zustand zu versetzen.

Kommentare

27 Antworten zu „InitWare als Systemd-Fork auf OpenBSD“

  1. Avatar von Roland
    Roland

    Sehr seltsam…

    Warum will *BSD unbedingt systemd einsetzen? Wo es doch nach Meinung einiger Linux-Nutzer dazu benutzt wird um, Zitat, „Krieg gegen RMS, FSF, GPL“ zu führen? Aus einem alten Beitrag:

    Systemd besteht ja auch aus über einer Millionen Zeilen C-Code, nistet sich im gesamten System ein und spuckt auf Alternativen wie z.B. BSD. Da kann man schon mal was übersehen.

    Zudem ist Corporate Linux (Red Hat und Co.) nicht an unserem Wohl interessiert (Krieg gegen RMS, FSF, GPL) und muss sich an gesetzliche Vorgaben (Cloud Act, Patriot Act) halten.

    Warum setzt *BSD nicht auf die Alternative OpenRC? Warum unterwirft es sich „Corporate Linux (Red Hat und Co.)„? Oder gibt es da vielleicht doch technische Gründe? 😉

    1. Avatar von foobar
      foobar

      Also ich mag systemd. Aber InitWare ist nicht von *BSD implementiert worden sondern von einer unabhängigen Gruppe. Das wäre das selbe wie wenn du schreibst dass Debian auf OpenRC setzt nur weil es auf Debian läuft.

    2. Avatar von tuxnix
      tuxnix

      InitWare ist auch nicht systemd. Es gibt eine Schnittmenge aber es nicht das selbe.

      1. Avatar von Roland
        Roland

        InitWare als Systemd-Fork auf OpenBSD

        …lautet die Überschrift des Artikels.

        Willst du uns jetzt erzählen, die InitWare-Entwickler haben 1,2 Millionen Zeilen Code neu geschrieben? 😀

        1. Avatar von tuxnix
          tuxnix

          Ich möchte, dass du zuerst den Artikel ließt, bevor du diskutierst.
          Unterschiede:

          • keine Linux-typischen Systemaufrufe
          • modular aufgebaut
          • kein Udev und Journald
          • Anmelde- und Benutzer-Sitzungsmanager
          1. Avatar von Alex
            Alex

            Im Klartext bedeutet dies: „Wir konnten das Ding, bestehend aus 1,2 Millionen Codezeilen, auf *BSD gerade so zum laufen bringen. Die meisten Funktionen konnten wir nicht rüberbringen.“

    3. Avatar von Gerrit

      Das ist doch wohl offensichtlich. Die Grünlinke-Genderdikatur steuert über die CIA/NSA ihren Krieg gegen RMS, FSF, GPL und hat nun BSD unterwandert und per geheime Anordnung gezwungen sich Corporate Linux zu unterwerfen, damit Microsoft über impfgechipte Manager IBM und Red Hat kontrolliert. Die SUSE Aktien gehören über geheime Aufkäufe doch eh dazu. Nicht zu vergessen, dass Netflix wichtig für die Entwicklung von BSD ist und das ist ein US-Unternehmen. Muss ich noch mehr sagen…

      So jetzt hab ich gleich mal ein paar der üblichen Kommentare vorweggenomen. Achja und Achtung: Ironie, falls jemand es nicht begriffen hat. Schlimm ist nur, dass manche hier das in etwa glauben.

      1. Avatar von tuxnix
        tuxnix

        @Gerrit
        An dir ist ein großer Geschichtenerzähler verlorengegangen. Du hast hier auch wirklich ein großes Talent. und Stil. (Das ist achtungsvoll gemeint und Geschichtenerzähller waren zu allen Zeiten auch immer wichtige Leute). Nun, es ist eine Tatsache, dass gegen RMS und auch gegen die GPL schon immer große Kampagnen gefahren wurden.

        Auch dürfte klar sein, dass es ein paar Leute gibt die systemd ablehnen.

        Wenn du nun aber beides zusammenpackst um jemandem etwas in den Mund zu legen was niemals jemand so gesagt hat, dann werden wir wieder über die „Flacherde“ diskutieren müssen.
        Denn gerade beim Thema Flacherde zeigt sich, dass es sich hierbei um eine reine propagandistische Herabwürdigung handelt. Und so lustig deine kleine Geschichte auch ist, so wenig schön ist es Argumente zu entkräften indem man Menschen lächerlich macht.

      2. Avatar von Atalanttore
        Atalanttore

        Das war mir schon immer völlig klar.

    4. Avatar von no one
      no one

      Im Grunde wissen eben auch die BSDler, dass sie mal was neues brauchen. Da wurde dann auch immer mal wieder über launchd diskutiert.

      Und vor Jahren hat schon dieser Vortrag die Runden gemacht: The Tragedy of systemd https://www.youtube.com/watch?v=o_AIw9bGogo

  2. Avatar von Nick
    Nick

    Es entspricht nicht der Wahrheit, dass Systemd von Grund auf nur unter GNU/Linux sein sollte. In den Anfängen von Systemd, haben die Entwickler explizit angefragt und Umfragen geschalten, doch seitens BSD gab es damals nicht das geringste Interesse, trotz das Systemd schon damals Kompatibilität dazu aufgebaut hatte. Und Jahre später kritisiert man Systemd dafür, dass die offenkundig überflüssige Kompatibilität weitgehend abgeschafft wurde, und stärkere Abhängigkeiten bezüglich GNU/Linux forciert wurden? Ziemlich heuchlerisch in meinen Augen. Übrigens ist Systemd selbst bereits sehr modular, und kann ebenfalls auch ohne vielfältig genutzte Module kompiliert werden. Wo ist nun das Problem?

    1. Avatar von Reindl Harald
      Reindl Harald

      Es macht auch keinen Sinn nachdem cgroups, namespaces, syscallfilter etc. auf einem BSE weitgehend fehlen

      systemd macht wesentlich mehr als stupide Prozesse zu starten wenn man damit umgehen kann und ersetzt weitgehend container ohne die Nachteile

      1. Avatar von Kermet
        Kermet

        Inwiefern ersetzt systemd container?
        Kannst du das näher erläutern?

        1. Avatar von Reindl Harald
          Reindl Harald

          Na was ist denn ein Container?

          [Unit]
          Description=Apache Webserver
          After=mysqld.service
          Before=crond.service
          ConditionDirectoryNotEmpty=/etc/httpd/conf

          [Service]
          Type=simple
          EnvironmentFile=-/etc/sysconfig/httpd
          EnvironmentFile=-/etc/sysconfig/php-preload
          Environment=“PATH=/usr/bin:/usr/sbin“
          Environment=“LANG=C.UTF-8″
          ExecStart=/usr/sbin/httpd $OPTIONS -D FOREGROUND
          ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
          Restart=always
          RestartSec=1
          UMask=006
          TasksMax=1024

          User=apache
          Group=apache
          PermissionsStartOnly=true

          CapabilityBoundingSet=CAP_NET_BIND_SERVICE
          AmbientCapabilities=CAP_NET_BIND_SERVICE
          SystemCallFilter=@system-service @network-io @privileged
          SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @reboot @swap

          LockPersonality=yes
          MemoryDenyWriteExecute=false
          NoNewPrivileges=yes
          PrivateDevices=yes
          PrivateTmp=yes
          ProtectClock=yes
          ProtectControlGroups=yes
          ProtectHome=yes
          ProtectHostname=yes
          ProtectKernelLogs=yes
          ProtectKernelModules=yes
          ProtectKernelTunables=yes
          RemoveIPC=yes
          RestrictNamespaces=yes
          RestrictRealtime=yes
          RestrictSUIDSGID=yes
          SystemCallArchitectures=native

          ProtectSystem=strict
          ReadWritePaths=-/data/www
          ReadWritePaths=-/tmp
          ReadWritePaths=-/var/log
          ReadWritePaths=-/var/www

          InaccessiblePaths=-/etc/anacrontab
          InaccessiblePaths=-/etc/cron.allow
          InaccessiblePaths=-/etc/cron.deny
          InaccessiblePaths=-/etc/crontab
          InaccessiblePaths=-/etc/crypttab
          InaccessiblePaths=-/etc/fstab
          InaccessiblePaths=-/etc/shadow
          InaccessiblePaths=-/etc/shadow-
          InaccessiblePaths=-/boot
          InaccessiblePaths=-/efi
          InaccessiblePaths=-/media
          InaccessiblePaths=-/run/media
          InaccessiblePaths=-/run/mount

      2. Avatar von Reindl Harald
        Reindl Harald

        Welcher Depp der keine Ahnung von systemd und was Container und deren Grundlage eigentlich sind hat drückt hier auf „minus“?

        1. Avatar von Gerrit

          Mach dir nichts draus. Die Bewertungen hier sind ideologisch motiviert. Fakten, die einem nicht passen werden von einigen einfach negativ bewertet. Ein Grund, warum viele Seiten auf solche Bewertungssysteme verzichten.

          1. Avatar von juchtel
            juchtel

            Kommt noch dazu, dass es hier keine „richtige“ Registrierung gibt; für diesen Kommentar muß ich mich zwar mit Mail und Nick anmelden, aber Bewerten kann jeder Honk ohne Weiteres….

          2. Avatar von Ferdinand

            Wenn das Bewertungssystem nicht gewünscht ist, so schalte ich das gerne ab, ich hänge da bestimmt nicht dran.

          3. Avatar von Kermet
            Kermet

            Dann wäre mir eher eine Abschaltung der E-Mailpflicht lieber und wichtiger.

          4. Avatar von no one
            no one

            Du musst da keine funktionierende E-Mail-Adresse angeben.

            Daumen runter ohne Begründung ist jedenfalls immer etwas doof und sollte automatisch in Daumen hoch umgewandelt werden 😉

          5. Avatar von Kermet
            Kermet

            Doch muss man.

          6. Avatar von no one
            no one

            Nein und habe ich hier auch noch nie gemacht. Nur das Format muss stimmen, „abc@xyz.de“ funktioniert zum Beispiel.

          7. Avatar von Kermet
            Kermet

            Bis du nen Anschiss von Ferdinand bekommst, weil er Anschiss von dem bekommt, den du als E-Mail Adresse eingegeben hast, weil er diesem standardmäßig und ungefragt eine Mail schickt und weil dieser E-Mail Zwang deswegen für die Tonne ist.

            Mich wundert, dass Ferdinand deinen Vorschlag zum Nachahmen für Alle übersehen hat.

          8. Avatar von juchtel
            juchtel

            Das finde ich persönlich sehr gut, ich kann meine Meinung durchaus auch in dieser Form kundtun!

          9. Avatar von Ferdinand

            Du findest das Bewertungssyststem gut oder nicht? Ich glaube, ich muss da mal explizit ne Umfrage zu machen.

          10. Avatar von Gerrit

            Das wäre vielleicht keine schlechte Idee.

          11. Avatar von juchtel
            juchtel

            Ich meinte, wenn Du das Bewertungssystem abschaffst, dass fände ich persönlich sehr gut!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert