Die wahre Identität des Verzeichnisses /usr im Linux-Dateisystem
usr ist nicht „user“
Wenn man Linux ein wenig benutzt, stößt man zwangsläufig auf das Verzeichnis /usr.
Ich hatte beim ersten Linux‑Einstieg genau das gleiche Missverständnis.
„Ah,
/usrheißt also user. Das muss also ein Verzeichnis für Benutzerdaten sein.“
Viele Linux‑Anfänger haben sich wahrscheinlich schon einmal so gedacht. Doch die eigentliche Antwort lautet:
/usrist kein Verzeichnis für einzelne „Benutzer(user)“-Daten. Die Home‑Verzeichnisse werden von/homeverwaltet, während/usreine völlig andere Aufgabe hat.
In diesem Beitrag klären wir die echte Identität und Rolle von /usr und zeigen, wie es sich von anderen Verzeichnissen wie /home, /opt und /var unterscheidet.
1. Zunächst die Schlussfolgerung: /usr ist kein „Benutzerdaten“-Verzeichnis
In modernen Linux‑Systemen lässt sich die Position von /usr in einem Satz zusammenfassen:
/usr= Bereich, in dem das System „gemeinsam nutzbare und (meist) schreibgeschützte Programme, Bibliotheken und Daten“ ablegt.
Kurz gesagt:
- Ausführbare Dateien des Betriebssystems und der Anwendungen
- Bibliotheken, die von diesen ausführbaren Dateien verwendet werden
- Gemeinsame Daten wie Handbuchseiten, Symbole und andere Ressourcen
Im Gegensatz dazu werden die typischen „Benutzerdokumente, Einstellungen, Downloads“:
- unter
/home/<Benutzername>gespeichert. - haben völlig andere Aufgaben als
/usr.
Daher ist die Vorstellung, dass /usr ein „user‑Verzeichnis“ sei, schlicht falsch.
2. Was bedeutet „usr“ eigentlich?
Hier gibt es ein wenig Geschichte und Debatte.
- In den frühen Unix‑Jahren befanden sich unter
/usrtatsächlich Benutzerdaten. - Deshalb gibt es die traditionelle Sicht, dass
usrdie Abkürzung für „user“ sei. - Später wurde es auch als „Unix System Resources“ interpretiert.
Für moderne Linux‑Nutzer ist jedoch die aktuelle Rolle wichtiger als die historische Bedeutung.
Der Filesystem Hierarchy Standard (FHS) definiert /usr wie folgt (Kurzfassung):
- Bereich für gemeinsam nutzbare (read‑only) Daten im gesamten System
- Programme, Bibliotheken, Handbücher, gemeinsame Daten usw.
Kurz gesagt: In Linux ist es wichtiger zu verstehen, dass /usr ein gemeinsamer Ressourcenbereich ist, unabhängig davon, ob es „user“ bedeutet.
3. Was befindet sich unter /usr?
Wenn man auf einem Server oder Desktop ls /usr ausführt, sieht man typischerweise folgende Verzeichnisse.
$ ls /usr
bin lib lib64 local sbin share include ...
Jedes Verzeichnis hat eine grobe Bedeutung:
/usr/bin– ausführbare Dateien für normale Benutzer (z. B./usr/bin/python,/usr/bin/grep,/usr/bin/curl)./usr/sbin– Systemverwaltungs‑Binaries, meist für root (z. B./usr/sbin/sshd,/usr/sbin/apachectl)./usr/lib,/usr/lib64– gemeinsame Bibliotheken, die von Programmen verwendet werden (z. B..so‑Dateien)./usr/share– architekturunabhängige gemeinsame Daten (z. B. Handbuchseiten in/usr/share/man, Symbole, Lokalisierungsdaten)./usr/include– C/C++ Header‑Dateien, die von Entwicklungs‑Toolchains genutzt werden./usr/local– Platz für Programme, die nicht über den Paketmanager installiert wurden (diese werden später genauer erklärt).
Kurz gesagt:
/usrist ein großer Lagerraum für Programme und zugehörige Ressourcen, die systemweit verwendet werden.
4. /usr vs /home vs /opt vs /var – Was ist anders?
Die Struktur des Linux‑Dateisystems kann anfangs verwirrend sein. Insbesondere die Verzeichnisse /usr, /home, /opt und /var sind leicht zu verwechseln. Hier ein Überblick:
4.1 /home – das eigentliche „Haus“ des Benutzers
- Beispielpfade:
/home/alice,/home/bob - Enthält persönliche Daten: Dokumente, Bilder, Downloads, Projektverzeichnisse
- Enthält benutzerspezifische Konfigurationen (
~/.config,~/.sshusw.) - Bei einer Neuinstallation des OS wird
/homehäufig separat gesichert.
Persönliche Daten und Einstellungen = fast alles in
/home
4.2 /usr – die „gemeinsamen Ressourcen“ des Systems und der Anwendungen
- Ausführbare Dateien:
/usr/bin,/usr/sbin - Bibliotheken:
/usr/lib* - Gemeinsame Daten:
/usr/share
„Programme, Bibliotheken und Daten, die von allen Benutzern genutzt werden“ =
/usr
Hier kommen keine individuellen Benutzerdaten hinein.
4.3 /opt – Platz für „einzelne, komplette Anwendungen“
- Nicht über den Paketmanager installierte, kommerzielle oder Drittanbieter‑Anwendungen (z. B.
/opt/google/chrome,/opt/mycompany/app). - Häufig wird die gesamte Anwendung in einem einzigen Unterverzeichnis abgelegt.
„Diese Anwendung ist komplett in diesem Verzeichnis“ – Anwendungs‑basiertes Management.
4.4 /var – Daten, die sich ändern (Variable)
- Protokolle:
/var/log - Cache:
/var/cache - Warteschlangen, Spool‑Verzeichnisse:
/var/spool - Datenbanken, Statusdateien, die häufig geändert werden.
„Daten, die sich häufig ändern“ =
/var
5. Warum nicht /bin, sondern /usr/bin? (Und heute ist es noch verwirrender)
In älteren Dokumentationen gibt es Erklärungen, warum /bin und /usr/bin getrennt sind. Moderne Distributionen vereinfachen dies oft zu:
/bin→ symbolischer Link zu/usr/bin/sbin→ symbolischer Link zu/usr/sbin
(Beispiel: Fedora, Ubuntu)
Das bedeutet, dass in modernen Systemen praktisch alle ausführbaren Dateien in /usr/bin bzw. /usr/sbin liegen, während /bin und /sbin nur als kompatible Vorlagen dienen.
Für Einsteiger kann das verwirrend sein, aber die Kernaussage ist:
„Wo befinden sich die eigentlichen Programme?“ → Meistens in
/usr/binund/usr/sbin.
6. Wie vermeidet man Verwirrung als Linux‑Neuling?
Die häufigsten Missverständnisse beim Einstieg sind:
- „
/usrheißt also user…“ - „Sollte mein Programm in
/usrinstalliert werden?“ - „Was ist der Unterschied zu
/home?“
Wenn man sich an die folgenden Richtlinien hält, klärt sich die Verwirrung fast sofort.
6.1 Wo speichere ich persönliche Skripte/Tools?
- Eigene Skripte:
~/binoder~/scripts - Mit
PATHverknüpfen, z. B.:
mkdir -p ~/bin
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
Dies ist ein persönlicher Bereich, der von /usr getrennt ist.
6.2 Wie installiere ich systemweite, benutzerdefinierte Anwendungen?
- Quellcode kompilieren und installieren
- AppImage, tar.gz‑Pakete von Drittanbietern
Für die systemweite Nutzung empfiehlt sich:
- Hauptprogramm:
/opt/<appname> - Startpunkt: symbolischer Link in
/usr/local/bin
Das Muster ist sauber und nachvollziehbar.
/usr/local ist also der Ort für Programme, die nicht über den Paketmanager installiert wurden und von Administratoren verwaltet werden.
7. Fazit: /usr ist kein „Benutzer‑Haus“, sondern ein „System‑Lager“
Zusammengefasst:
/usrist kein Verzeichnis für Benutzerdaten.- In modernen Linux‑Systemen enthält
/usr: - Gemeinsame ausführbare Dateien
- Bibliotheken
- Gemeinsame Daten wie Handbücher, Symbole und Lokalisierungen
- Persönliche Daten liegen in
/home/<Benutzername>. - Eigene Anwendungen werden üblicherweise in
/optoder/usr/localabgelegt.
Wenn man die Struktur des Linux‑Dateisystems versteht, bekommt man ein Gefühl dafür, wo man Dateien ablegen sollte, welche Anwendungen systemweit oder nur für einen Benutzer gelten und welche Daten bei einer OS‑Neuinstallation erhalten bleiben sollten. Der erste Schritt dazu ist ein klares Verständnis der Rolle von /usr.
Es sind keine Kommentare vorhanden.