Wenn Linux blau sieht: Ein Windows-Klassiker auf Abwegen

  • kim88 hat einen neuen Blog-Artikel erstellt: Wenn Linux blau sieht: Ein Windows-Klassiker auf Abwegen.

    Zitat
    Mit systemd in Version 255, das wahrscheinlich irgendwann im Dezember 2023 veröffentlicht wird, kommt nun zum ersten Mal der unter Windows bekannte «Bluescreen» zu Linux.

    Nachfolgend schreibe ich etwas zur Geschichte des Bluescreens, warum Microsoft ihn entwickelt hat und warum das auch für Linux eine gute Idee ist.

    Warum ist der Bluescreen blau?

    Der erste Bluescreen gab es mit Windows NT 3.1 aus dem Jahr 1993 und wurde in den nachfolgenden Jahren in allen Windows-Versionen integriert. Entwickelt…

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

  • Gewagte These:
    Seit sich systemd immer weiter ausbreitet gibt, wird Linux langsamer und komplizierter - bis es ein Windows geworden sein wird.

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

  • Doofe Frage, ja ich könnte auch selber im Inet suchen, wozu wird system-d genutzt?

    * Thinkpad X220 Sparky Linux 7 / Linux Mint 21.3 / Ubuntu 24.04 mit Ubuntu Pro * MacBookAir 2011 Kanotix Slowfire * Pixel 3a Ubuntu Touch * * Macbook Pro 2012 Ubuntu 23.10 * Surface Pro 6 Ubuntu 24.04 * Thinkpad X61s mit diversen SSDs mit versch. Distros zum Testen *

  • Systemd war ursprünglich als init Dienst entwickelt (ich glaube von Red Hat). Dann kam immer mehr dazu und jetzt ist systemd quasi der Chuck Norris aller Daemons und kann alles mögliche per verschiedener Module.

    Für Puristen ist das böse, weil Systemd damit dem Unix Dogma der Einfachheit widerspricht ("Mache EINE Sache, aber die dafür perfekt!").

    Daily Driver PC: Pop!_OS 22.04 + Win 10 Dual Boot/ Intel i7-7700K / NVIDIA GeForce GTX 1070 / 32 GB RAM / 3x 1TB Samsung SSD

    Daily Driver Laptop: Framework 13 / Ubuntu 24.04 LTS / AMD Ryzen 7 7840U / 64 GB RAM / 2TB WD NVME

    Backup Laptop: HP Elitebook x360 1030 G2 / Fedora 40 / Intel i5-7200U / Intel HD 620 / 8 GB RAM / 500 GB Samsung NVMe

    Spiele PC: MX Linux + Garuda / AMD Ryzen 7 7800X3D / Radeon RX 6750 XT / 64 GB RAM / 2TB Samsung NVME + 512 GB Kingston NVME + 250 GB Samsung SSD

  • Systemd ist ein "Init" System. Jedes Betriebsystem hat ein Initsystem. Wenn du in den Task Manager deines Desktop schaust sieht du alle laufenden Prozesse. Jeder Prozess hat eine ID (Nummer). Das Init System ist in der Regel immer Prozess ID 1.

    Das Init System ist dafür da, die einzelnen Prozesse die das das Betriebsystem braucht zu laden.

    Sprich wenn du deinen Computer startest werden einzelne Dienste gestartet. Z.b. "udev" das die angeschlossene Hardware erkennt und ansprechen kann. Einen Login Dienst, der ein Log schreibt (damit man besser nachvollziehen kann wenn was schief geht).

    Wichtig ist hier die richtige Reihenfolge. Als Beispiel wenn du Linux mit einem Desktop benutzt wird irgendwann in der Regel der grafische Login Manager gestartet (dort wo du Benutzer auswählst und Passwort eingibst) Bei Gnome ist das GDM, bei KDE SCCM, Cinnamon nutzt glaub LighDM, etc.

    Der darf aber erst gestartet werden, wenn die Abhängigkeiten entsprechen gestartet wurden. Also der Init Dienst muss z.b. erst den X-Server oder eben Wayland starten bevor z.b. GDM gestartet werden kann.


    Früher hat man dazu sehr oft "sysVInit" benutzt. Einige Distributionen - spontan fällt mir da PCLinuxOS ein nutzen das noch bis heute. SysVInit kannst du dir (stark vereinfacht) wie eine simple Textdatei vorstellen, dass die Dienste in der richtigen Reihenfolge auflistet und beim booten quasi die Dienste in der dort spezifizierten Reihenfolge einer nach dem anderen gestartet wird.

    Das funktioniert grundsätzlich - ist aber sehr langsam. Heute haben gefühlt alle Computer mehrere Kerne und viel Rechenleistung es ist nicht wirklich effizient einen Dienst zu starten, dann zu warten bis er hochgefahren ist und dann den nächsten Dienst zu starten usw. Daher kam da sBedürfnis schon früh auf, hier Dinge parallelisieren zu können.
    Canonical hat dafür "Upstart" entwickelt. Upstart war eine Alternative zu SysVinit (wird heute von Chrome OS benutzt).


    Ein paar Jahre hat Lennart Pottering (der auch PulseAudio entwickelt hat) im Auftrag von Red Hat einen komplett neuen Init Dienst entwickelt. Dieser Dienst heisst systemd.

    Systemd ist heute aber viel mehr als ein Init-Dienst und nimmt immer mehr Einfluss auf die Verwaltung des Linux Systems an sich. Früher als sysVInit einzelne Dienste gestartet hat waren das mehr oder weniger alles unabhängige Dienste. Systemd kann auch unabhängige Dienste starte - liefert aber viele Dienste selber mit.
    z.b. Gerätemangement (quasi udev), Das Logging, Einen Timer (quasi wie cronjob), Netzwerkverwaltung, Benutzerverwaltung, Verschlüsselung von Partitionen, etc für alles gibt es einen systemd Dienst und gefühlt alle 2 Monate kommen neue Dienste dazu.

    Da die Linux/Unix Philosophie ja oft ist "ein kleines Programm" pro Aufgabe widerspricht das natürlich der Philosophie und wird deswegen von einigen stark kritisiert. Dazu kommt, dass die Logs die systemd schreibt in Binärdateien und nicht reinen Textdateien geschrieben werden. Daher systemd wurde und wird von einem Init-System immer mehr zu einem umfassendem System- und Service-Management-Tool, das viele Aspekte des modernen Linux-Betriebssystems abdeckt.

    Dazu kommt das es die meisten Distributionen standardmässig einsetzen. Das hat auch sehr viel mit Gnome zu tun, da einige Gnome Komponenten direkt oder indirekt von systemd Abhängig sind. Man kann das mit viel Gebastel umgehen - aber Gnome empfiehlt grundsätzlich die Verwendung von systemd.

    Wegen der Kritik (grosses Tool, dass immer mehr Aufgaben übernimmt und Binärlogs) und auch weil Lennart Pottering eine Person ist die in der Linux Community schon früher kritisiert wurde - weil er Dinge sehr oft radikal ändert (PulseAudio als Beispiel) und die dann von Red Hat (die im Grunde die Entwicklung von Gnome kontrollieren) mehr oder weniger in der Linux Landschaft durchgedrückt werden führten da zu vielen Spannungen.

    Es gab bei vielen Distributionen sehr viele sehr grosse Debatten ob systemd eingeführt werden soll oder nicht. Als Debian in einer internen Abstimmung Ja zu systemd gesagt hat, haben sich die Gegner davon abgespalten und entwickeln seither die Distribution Devuan "https://www.devuan.org/" - wo du weiterhin frei entscheiden kannst welches Init-System du benutzen möchtest.

    Von den grossen bekannten Distributionen, war übrigens Ubuntu die letzte die zu systemd gewechselt sind (15.04).


    Init System sind keine Linux Eigenheit, jedes Betriebssystem hat die. Apple entwickelte z.b. für alle ihre Geräte seit 2005 den Dienst "lunchd" der übrigens OpenSource ist und sehr viele Ähnlichkeiten zu systemd aufweist. https://github.com/apple-oss-distributions/launchd/tags

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

  • Sytemd-boot was maik3531 hier anspricht ist de Bootmnaager nicht das Init System.

    Und ein gutes Beispiel dafür das systemd stück für stück mehr Funktionen im Linux ökosystem übernimmt

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

  • Wird bestimmt bald eingeführt: services.msc zum Verwalten von systemd

    Und die nächste große Erfindung vom Herrn P. wird dann die Registry um endlich den ordner /etc abzulösen.

    PC: AMD Ryzen 7 5700X | AMD RX6600 | 32GB RAM | Debian 12 Xfce
    Notebook: AMD Ryzen 5 5300U | Vega Graphic | 16GB RAM | Debian 12 Xfce

  • kim88 , vielen vielen Dank für die ausführliche Erklärung :thumbup::)

    * Thinkpad X220 Sparky Linux 7 / Linux Mint 21.3 / Ubuntu 24.04 mit Ubuntu Pro * MacBookAir 2011 Kanotix Slowfire * Pixel 3a Ubuntu Touch * * Macbook Pro 2012 Ubuntu 23.10 * Surface Pro 6 Ubuntu 24.04 * Thinkpad X61s mit diversen SSDs mit versch. Distros zum Testen *

  • Naja mit gstettings- bzw dem dconf-editor hat man zumindest für den Gnome Desktop schon längst eine Art Registry.

    Der Punkt ist man kann über systemd und auch PulseAudio motzen. Lennart Poettering ist ein Macher und er löst ja effektive Probleme die andere eben nicht gelöst haben.

    Mit PulseAudio hat heute jedes Linux ein mächtigeres Audiointerface als z.b. Mac OS.

    systemd ist viel schneller als damals sysvinit und upstart. Mit zusätzlichen Funktionen die er baut für systemd-tpm kann man nun endlich TPM unter Linux nutzen (etwas das JEDES andere Betriebssystem schon seit EWIGKEITEN kann) hätte ja auch jemand anders entwickeln können - hat aber niemand gemacht.

    Mit systemd-homed wird es möglich, dass man wieder einzelne Benutzeraccounts bzw Benutzerordner verschlüsseln und quasi mit dem Login entschlüsseln kann. Etwas das früher Ubuntu über die Software "ecryptfs" angeboten hat. ecryptfs wurden dann über Jahre nicht weiterentwickelt und hat mehrere Sicherheitslücken hat - so das es Ubuntu 2019 rausgworfen hat.

    Die Community hätte das Projekt ja retten und weiter entwickeln können. Oder ein neues Projekt starten können. Hat aber niemand gemacht. Nun fluchen die systemd Kritiker das das auch in systemd ist - haben aber selber keine Alternative dazu die sie anbieten können.

    Oder etwas das SyVInit und Upstart nie sinnvoll hinbekommen haben. Dienste "bei Bedarf" zu starten. Für Notebook User wie z.b. mich super wichtig. Ich muss z.b. docker nicht bei jedem Systemstart starten - kostet micht nur Akkulaufzeit. Ich will aber wenn ich im Temrinal docker benutze, dass der Dienst automatisch gestartet wird - systemd kann das.

    Ist halt auch das was mich damals so an der Diskussion rund um systemd so gestört hat. Ja man kann systemd kritisieren. Aber nur mit hinstellen und sagen "das Ding ist ein Moloch oder zu gross" ist eben nicht getan. Systemd löst reale Probleme die effektiv existieren. Wenn man dann etwas gegen systemd tun will - wäre es neben der Kritik eben angebracht selbst diese Probleme mit eigenen Diensten zu lösen um somit ein "allumfassendes Systemd zu verhindern.
    Hat aber - wie so oft - halt niemand getan.

    Ich verstehe durchaus die Kritik und Poettering ist definitiv kein einfacher Mensch. Aber kritisieren ohne eigene Lösungen anzubieten ist am Ende halt reiner Populismus und hilft niemandem.

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

    Einmal editiert, zuletzt von kim88 (1. Dezember 2023 um 23:27)

  • Naja system-d als Init-System ist definitiv schneller als klaissches Init Systeme

    Dass stimmt so nicht. Moderne Alternativen können sehr wohl Multiboot und auch Abhängigkeits Management.

    Systemd war ursprünglich als init Dienst entwickelt (ich glaube von Red Hat). Dann kam immer mehr dazu und jetzt ist systemd quasi der Chuck Norris aller Daemons und kann alles mögliche per verschiedener Module.

    Für Puristen ist das böse, weil Systemd damit dem Unix Dogma der Einfachheit widerspricht ("Mache EINE Sache, aber die dafür perfekt!").

    Sorry also der Vergleich hinkt gewaltig.

    Aber da gibt es auch noch einige mehr, z.b in einem optimierten oder embedded System will man halt kein riesen Monster dass alles dass kann was ich nicht brauche. Wie sage ich z.b. systemd ich will ein bestimmtes Modul nicht haben?

    Dass Dogma war dass ein Programm auf eine spezielle Aufgabe hin entwickelt und dafür optimiert wird und dieses eine Programm auch nur Zugriff auf diesen Bereich hat.

    systemd ist auch alles andere als perfekt. Es will eine Eierlegende Wollmilch Sau sein.

    Aber dass muss jeder für sich selbst entscheiden. Ich will hier keine Diskussion vom Zaun brechen denn jeder kann die Wahl selbst entscheiden.

    Aber User von anderen init Systemen hier nur als Schlechtredner, altmodisch und Linux Feinde darzustellen ist leider sich nicht die feine Art. Dass wäre dass gleiche eine z.b. Cinamon, Gnome oder was weiß ich für ein DE User als ***** zu bezeichnen.

  • Aber User von anderen init Systemen hier nur als Schlechtredner, altmodisch und Linux Feinde darzustellen ist leider sich nicht die feine Art.

    Hab ich das?

    Daily Driver PC: Pop!_OS 22.04 + Win 10 Dual Boot/ Intel i7-7700K / NVIDIA GeForce GTX 1070 / 32 GB RAM / 3x 1TB Samsung SSD

    Daily Driver Laptop: Framework 13 / Ubuntu 24.04 LTS / AMD Ryzen 7 7840U / 64 GB RAM / 2TB WD NVME

    Backup Laptop: HP Elitebook x360 1030 G2 / Fedora 40 / Intel i5-7200U / Intel HD 620 / 8 GB RAM / 500 GB Samsung NVMe

    Spiele PC: MX Linux + Garuda / AMD Ryzen 7 7800X3D / Radeon RX 6750 XT / 64 GB RAM / 2TB Samsung NVME + 512 GB Kingston NVME + 250 GB Samsung SSD

  • systemd ist auch mehr aus der Not weiterentwickelt worden wo es gar nicht hin sollte. Aus der Not weil sich einfach an Entwicklung nichts mehr tat Linux an moderne Hardware anzupassen. Zumindest habe ich das mal irgendwo gelesen und ich finde das einleuchtend.

    #ichmussmalmächtigkacken

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!