Wurzeln

Debian: UsrMerge kommt endlich voran

Die Pläne für das im Juni erschienene Debian 12 »Bookworm« sahen vor, dass der sogenannte UsrMerge, also die Zusammenführung der Verzeichnisse /bin , /sbin , /lib und /lib64 in passende Verzeichnisse unterhalb von /usr abgeschlossen sein sollte.

Hin und her

Dem voraus ging 2021 die Entscheidung, dass Debian 12 »Bookworm« nur noch das merged-usr-Root-Dateisystem-Layout unterstützen soll und die Unterstützung für das non-merged-usr-Layout eingestellt wird. Im Mai 2023 empfahl das Technische Komitee in einem Moratorium allerdings, die bisherige Auslegung des Filesystem Hierarchy Standard (FHS) beizubehalten und den UsrMerge auf Debian 13 »Trixie« zu verschieben. Dieses Moratorium wurde nun, ein paar Monate nach der Veröffentlichung von Debian 12, wieder aufgehoben. Die Empfehlung lautet nun:

In der Verfassung 6.1.5 empfiehlt das Technische Komitee nun, dass die Betreuer mit denjenigen, die den merged-/usr-Übergang vorantreiben, Rücksprache halten, bevor sie Dateien aus dem Root-Dateisystem an entsprechende Stellen unter /usr in der data.tar.* von Paketen verschieben.

Der Befürworter des Übergangs, der zum Zeitpunkt der Erstellung dieses Artikels Helmut Grohne ist, verwendet einen stufenweisen Ansatz, bei dem das Moratorium jeweils nur für bestimmte Klassen von Paketen und Änderungen zurückgenommen wird. Darüber hinaus sollten Umstrukturierungs-Uploads auf experimentell ausgerichtet sein und drei Tage lang aufrechterhalten werden. Dies ist erforderlich, damit dumat automatisierte Tests durchführen kann.

https://lists.debian.org/debian-devel-announce/2023/10/msg00003.html

Debian braucht immer ein wenig länger…

Debian ist spät dran mit dem UsrMerge. Fedora stieg bereits 2012 mit Fedora 17 um, Arch Linux begann 2013 mit der Umstellung. Bei Debian begannen die Vorbereitungen bereits 2019. Wer sich für die Hintergründe des UsrMerge interessiert und zudem wissen möchte, welche technischen Unzulänglichkeiten in den 70er-Jahren zur Einführung des /usr-Verzeichnisses führten, der kann dies in meinem Artikel von 2019 nachlesen.

Bild: Foto von Eilis Garvey auf Unsplash

Teilt den Beitrag, falls ihr mögt

32 Kommentare

  1. Hallo,

    wenn ich den Wiki-Eintrag zur FHS richtig lese, dann ist unter anderem das Verzeichnis /usr so konzipiert, dass sie nicht in der Partition des Stammverzeichnisses liegen müssen.

    /usr sekundäre Hierarchie historisch: „general-purpose directory“ (Universalverzeichnis, üblicherweise Einhängepunkt eines weiteren Dateisystems)

    Mit dem mergen wird dann /usr zwingend für den Systemstart notwendig bzw. muss auf der gleichen Partition wir das Stammverzeichnis liegen. Unter reinem Unix oder auch früher unter Linux wurde/werden ja gerne verschiedene Partition für verschiedene Verzeichnisse verwendet.

    Für mich wirkt das wie ein basteln an den Grundlagen von Unix/Linux.

    2
    1. wenn ich den Wiki-Eintrag zur FHS richtig lese, dann ist unter anderem das Verzeichnis /usr so konzipiert, dass sie nicht in der Partition des Stammverzeichnisses liegen müssen.

      Das liegt daran, dass Ken Thompson und Dennis Ritchie in den 70ern nur sehr wenig Platz auf ihren Festplatten hatten. Zu Beginn verwendeten sie Disketten und wechselten etwa 1971 auf einen Rechner des Typs PDP-11 von Digital Equipment Corporation. Als das Wurzelsystem von Unix über ein halbes MByte hinauswuchs, speicherten sie das größte Verzeichnis mit den Applikationen und Werkzeugen in einem RK05-DECpack, das bis dahin nur User-Daten enthielt. Der Überlieferung nach nannten sie diesen Einhängepunkt deshalb /usr.

      0
        1. Nein, FHS und LSB gab es schon immer seit es Linux gibt, nur warenh es die ungeschriebenen Gesetze der Linuxwelt, an die sich eigentlich jeder hielt.
          Dann verletzten suse und Redhat dies , daraufhin wehrte sich die Linuxgemeinde gegen die Firmen und machten es fest.
          Es war als Schutz gedacht gegen die Firmen.
          Genau so wie Linus Torvalds immernoch sehr erfolgreich den Kernel gegen die Vereinnahmung durch die Firmen verteidigt.

          Das hat aber mit dem FHS und LSB nichts zu tun, denn linux entstand erst 1991.
          Die 2 die Ferdinand hier meint sind die Unixer.
          FHS und LSB sind das Fundament auf dem Linux steht und wer im Linux fit ist kann an jeder Unixmaschine der Welt seine Arbeit machen,

          0
    2. Das erinnert mich an meine LPIC 101, oder 102. Da gab es z. B. auch die Frage, welche Verzeichnisse unbedingt zum Betrieb eines Linux System benötigt werden. Und da konnte /usr, /home, /var, /tmp und /opt ausgelagert sein. Eben historisch gewachsen.

      Das ist aber auch schon 10 Jahre + her. Aber die Zeiten ändern sich nun mal. Das soll aber nicht heißen, das Bewährtes über Board geworfen muss/soll.

      Es gibt heute Systemkonzepte, Bsp. Thema Containerisierung, wo eben vom Standard abgewichen werden muss, damit das alles funktioniert. Das liegt dann beim Hersteller/Distro. Wenn man so ein Konzept nutzen möchte/muss, muss sich dann mit den Gegebenheiten arrangiert werden.

      Und was da anbelangt, sind Linux Systeme das Mittel der Wahl. Welches andere OS bietet sonst eine solche hohe Flexibilität?

      Klar wäre es für alle hilfreich, wenn das FHS und LSB bei jeder Distro Standard wären. Aber es sind nun mal Empfehlungen und Richtlinien, wo jede Distro das nach eigenen Ermessen frei entscheiden kann.

      0
      1. Ja das waren 30 Jahre lang ungeschriebene Gesetze an die sich ausser suse und redhat jeder gehalten hat. Aber leider ist ja heute nichts mehr heilig.
        bzw. heute versuchen sie es wieder und es sind immer die Firmen.

        Das mache ich heute noch, allerdings nur /opt, /home, /boot, /var, /usr/local hilft ungemein bei einem Systemcrash. Hat schon irgendwie seinen Grund.

        1
        1. Jap, das kann jeder nach eigenen Ermessen handhaben. Ich hänge z.B. mein btrfs array auch nicht unter /mnt, oder /media ein, sondern /storage per /etc/fsstab. Ansonsten ist bei mir alles Debain Standard und funktioniert seit Jahren zu meiner vollsten Zufriedenheit.

          Ob dann nun /bin als Link auf /usr/bin verweist, oder direkt in /usr liegt, oder /bin im / liegt, ist mir ziemlich schnuppe. Da vertraue ich dem Debian Team. Die paar benötigten Skripte, bei mir, sind schnell angepasst.

          0
    3. Mit dem mergen wird dann /usr zwingend für den Systemstart notwendig bzw. muss auf der gleichen Partition wir das Stammverzeichnis liegen. Unter reinem Unix oder auch früher unter Linux wurde/werden ja gerne verschiedene Partition für verschiedene Verzeichnisse verwendet.

      Sicher? Genügt es nicht, wenn die initramfs die /usr-Partition ganz früh einbindet?
      Afaik legen die sytemd-Distros die kritischen systemd Komponenten doch eh mit aufs initramfs. Reicht ja, wenn’s gemountet ist, bevor die Daemonen gestartet werden.

      0
  2. FreeBSD verlinkt immer noch auf:
    https://www.pathname.com/fhs/

    Man korrigiere mich! Der Standard v3 kennt kein usrmerge. Wenn ich mich Recht entsinne stammt auch diese “fabelhafte” Idee von der systemd-Fraktion (u.a. Kay Sievers), die schon öfters mit fehlendem Fachwissen geglänzt hat (u.a. https://www.theregister.com/2017/07/28/black_hat_pwnie_awards/). Auch die Linux-Welt ist sich nicht einig, ob das sinnvoll ist und zerlegte die Argumente der angeblichen Vorteile schon gleich zu Anfang der Diskussion: https://lwn.net/Articles/477467/

    Dass Linux nicht nur auf Servern/Desktop laufen soll, sondern vor allem auf Embedded, scheint nicht bekannt zu sein.

    Mit usrmerge wird scheinbar wieder eine hochspezifische Lösung umgesetzt, die für viele Anwendungsfälle nur Nachteile bringt. Obendrein werden Unix und Linux noch weiter voneinander getrennt.

    Ich nenne das Spaltung des FOSS-Lagers.

    Oder habe ich da was übersehen?

    1
    1. Richtig systemd bzw die grossen stecken wieder mal dahinter und sie werden es irgendwie schaffen systemd so zu verbasteln, das man dann muss(also zumindest versuchen.)

      BSD und unabhaengige Distributionen werden es nicht tun, es werden nur die abhaengigen Distros machen.

      1
  3. Sehr reisserische Ueberschrift 😉

    Naja da kann man geteilter Meinung sein.
    Es wurde ja damals auch so gemacht, weil man sich mit seinen LinuxKenntnissen jederzeit auch an ein sco, aix, sun, linux, bsd etc. setzten konnte und alles von der Hirarchie gleich war und man sich sofort zurecht fand.

    Fuer mich ist es ne Sache, die nuechtern betrachtet , ersteinmal mit grossem Aufwand verbunden ist, und den Nutzen in Frage stellt.
    Der Impact ist doch ziemlich gross, bedenkt man die Umstellung von automatisierten Tests etc.
    und dann ganz konkret: Was ist der Nutzen? Vermeidung von Dopplung? wohl nicht wirklich, da es keine verdopplung gibt sondern eher verlinkung.

    Aber warum nicht, man wird sehen ob und was es bringt. Bisher haben solche Dinge immer einen negativen aspekt gehabt (siehe suse in den 90ern, redhat …)

    7
      1. Ja dazu kommt ja noch die Administration von Mio Servern, wo die Admins dann auf den neuen Verzeichnisbaum umstellen muessten. Und ob die vielen Admins das mit machen ist eine grosse Unbekannte.
        Ich kenne das aus eigener Erfahrung (hatte damals 2 AS400, einige sco, sun und weites Netzwerk in einer grossenFirma) betreut. Die Admins sollten suse benutzen aber sind auf grund der Nichteinhaltung des FHS von suse auf die Barrikaden gegangen. Keinen Bock mit 2 verschiedenen Filesystembaeumen zu agieren. (man fand die logs, configs etc. nicht mehr an den gewohnten Stellen) Wurde dann sehr schnell auf debian gewechselt.

        Und nicht zu vergessen die Upgradeproblematik.

        0
          1. Der FHS. Wobei UsrMerge fuer mich durch die Hintertuer kommt, da es wegen eine “Tricks” nicht wirklich gegen den FHS verstoesst.
            Aber es wird natuerlich an den Grundfesten von Linux gesaegt, von den grossen oftmals Firmendistributionen.
            Fuer mich ein linkes Ei.

            1
              1. Ja debian und viele andere haelt sich an den FHS.

                Naja mom ist es ein ich nehme es raus ->packe es an eine andere Stelle und verlinke es wieder dahin wo ich her habe.

                Also irgendwie sinnfrei. Nur durch die Verlinkung ist es noch halb komform.
                Aber wie gesagt nur die Distros mit Firmenhintergrund bis dato.

                Gentoo hat das jetzt auch gemacht alledings nur fuer systemd Nutzung.

                Das die LinuxFoundation dies nicht unterbindet, sieht ma schon, wenn man sich die Mitgliederliste an schau, da weis man woher der Wind weht.

                0
                    1. hmm, was ist an:
                      /
                      |–etc
                      |–usr
                      | |–bin
                      | |–sbin
                      | |–lib
                      | |–lib64
                      |–run
                      |–var
                      |–bin->usr/bin
                      |sbin->usr/sbin
                      |–lib->usr/lib
                      |–lib64->usr/lib64

                      uebersichtlicher?

                      Ja es geht um doppelte Verzeichnisse aber es ist doch klar definiert was in welchem Verzeichnis liegt.

                      Distributionen, die den Usrmerge umsetzen, sind damit nicht mehr LSB-konform.
                      Dem allerheiligsten im Linux.

                      2
                    2. Es gibt ja Regeln, wonach gesagt wird, was in /usr/bin stehen soll und was in /bin und wenn was auch in bin benoetigt wird gibts eine Verlinkung.

                      Und modern ,naja man kriegt nichtmal hin modernen Strassenbau gleich haltbar zu machen oder Bueckenbau oder kanalysation. Demnach kann man sich das modern auch sparen. 😉

                      1
                  1. Was evtl. auch beabsichtigt ist(siehe systemd).
                    Naja so schlimm wirds nicht werden, denke es wird die systemd-Abteilung sein, die sich darauf einlaesst, weil sie evtl. dann auch gezwungen sind dazu.
                    Wer weis.

                    Uebersichtlicher auf keinen Fall finde ich aber man kann was “Neues” rumtroeten. Ist fuer mich persoenlich nix anderes wie das Rad neu erfinden und ein Werbe-Verkaufs-Ding.
                    Denn die Firmenabhaengigen muessen ja immer irgend nen Aufhaenger haben, denn da gehts ja um Geld.

                    0

Kommentar hinterlassen