Debian: Verzeichnisstruktur von /usr erklärt
Nachdem wir uns schon die Hauptstruktur des Verzeichnisbaumes von Debian/Linux angesehen haben, möchte ich heute auf die Struktur innerhalb des Verzeichnisses /usr eingehen, da diese meines Erachtens nach recht wichtig ist. In diesem Ordner liegen prinzipiell die Anwendungen der Nutzer des Systems. Jedoch gliedert sich der Ordner in einige Unterordner, die ich in den folgenden Zeilen erläutern werden. Des Weiteren wird es in Kürze noch einen Artikel zur Erklärung des Verzeichnisses /var in diesem Blog geben.
Einleitend sei gesagt, dass /usr nicht User heißt, wie häufig angenommen. Stattdessen steht die Abkürzung für unix system resources (dt. UNIX Systemressourcen). Auch sei zu wissen, dass man /usr und dessen Unterverzeichnisse mit Ausnahme von /usr/local im Normalfall nicht händisch verändern sollte, da dieser Ordner durch den Paketmanager des Systems verwaltet wird.
/usr/bin
In diesem Verzeichnis verstecken sich die Binärdateien der, über einen Paketmanager installierten, Anwenderprogramme. Sprich: im Normalfall die Dateien, die ausgeführt werden, wenn das Programm aufgerufen wird.
/usr/games
Dieser Ordner hat mehr historische als praktische Funktion. Früher waren Spiele ein optionaler Teil des Systems und wurden anders als Programme („zum produktiven Arbeiten“) angesehen. Heutzutage wird dieses Verzeichnis, wenn überhaupt noch, dazu verwendet, Savegames/Highscores/Spielstände in diesem abzulegen.
/usr/include
Hier verstecken sich die Header-Dateien für, in C geschriebene, Programme. Diese definieren einige programmiertechnische Dinge, die der Compiler (rechnet Quellcode in Binärdateien um) für den C Code zu beachten hat und ist damit nur für Entwickler von Programmen relevant.
/usr/lib
Manche Programme müssen, damit sie lauffähig sind, auf Bibliotheken (einfach ausgedrückt andere Programme) zurückgreifen. Deren Binärdateien finden sich bei, über den Paketmanager installierten Programmen, in diesem Ordner wieder.
/usr/lib32
Dieses Verzeichnis existiert meist in 64-Bit Systemen und hat den gleichen Zweck wie /usr/lib mit dem Unterschied, dass sich hier 32-Bit Bibliotheken finden lassen.
/usr/local
In diesem Ordner befindet sich eine Vielzahl von Unterordnern, die dieselbe Struktur wie /usr selbst bilden. Auch die Bedeutung der Unterordner ist dieselbe. Jedoch befinden sich hier nicht durch den Paketmanager installierte Programme, sondern von dem Benutzer händisch installierte Software (z.B. selbst kompilierte Versionen eines Programms, dass es nicht in der Paketverwaltung gibt). In diesem Verzeichnis darf man daher guten Gewissens seine Programme ablegen.
/usr/sbin
Wie bei /sbin befinden sich hier Binärdateien von Programmen, die von Administratoren ausgeführt werden können. Im Gegensatz zu den Programmen aus /sbin sind diese jedoch nicht während des Bootvorgangs verwendbar und werden durch den Paketmanager verwaltet.
/usr/share
Hier sind architekturunabhängige Dateien (kompilierte Dateien sind normalerweise von der Prozessorarchitektur abhängig), auf die nur lesend (nicht schreibend) zugegriffen wird, abgelegt.
/usr/src
In diesem Verzeichnis finden sich die Quelldateien der, über den Paketmanager installierten Programme wieder, sofern der unkompilierte Code mit heruntergeladen wurde. Aus diesen können Binärdateien abhängig von der Architektur des Prozessors kompiliert werden.
Das war also eine kompakte Übersicht über die Bedeutung der Verzeichnisstruktur des Verzeichnisses /usr in Debian/Linux. Jetzt solltest du verstehen, was sich in diesen Verzeichnissen prinzipiell befindet und damit auch etwas mehr Klarheit darüber herrschen, ob du die Dateien anfassen solltest – oder eben auch nicht.
Wenn dir dieser Artikel geholfen hat, empfehle ich dir, noch die beiden anfangs verlinkten Artikel zu lesen, die weitere Strukturen von Linux/Debian erläutern.
2 Kommentare. Hinterlasse eine Antwort
Sehr gut und vor allem verständlich für Einsteiger (mich :D) geschrieben! Weiter so
Danke für die netten Worte 🙂