/usr/local : Locale Hierarchie

Zweck

Die /usr/local-Hierarchie benutzt der Systemverwalter, wenn er Software lokal installiert. Es muss vor dem Überschreiben im Zuge einer Aktualisierung des Systems geschützt werden. Es darf für Programme genutzt werden, die von mehreren Rechnern genutzt werden kann, die aber nicht unter /usr gefunden werden können.

Lokal installierte Software gehört nach /usr/local und nicht nach /usr, solange sie nicht Software in /usr ersetzen oder erweitern soll. [1]

Anforderungen

Die folgenden Verzeichnisse oder symbolischen Links zu Verzeichnissen müssen in /usr/local vorhanden sein:

Verzeichnis Beschreibung
binLokal installierte Kommandos
etcRechnerspezifische Einstellungen für lokal installierte Kommandos
gamesLokal installierte Spiele
includeHeader-Dateien lokal installierter C-Programme
libLokal installierte Bibliotheken
manLokal installierte Online-Handbücher ("man pages")
sbinLokal installierte Systemkommandos
shareLokale architekturunabhängige Hierarchie
srcQuellen lokal installierter Software

Soll das System FHS-konform sein, so darf es unter /usr/local ausschließlich die aufgeführten Verzeichnisse geben.

Optionen

Wenn es ein Verzeichnis /lib<Suffix> oder /usr/lib<Suffix> gibt, so muss es auch die Entsprechung unter /usr/local geben.

/usr/local/etc darf ein symbolischer Link auf /etc/local sein.

TippHintergrund
 

Die durch /usr/local/etc erreichte Konsistenz ist von Vorteil für alle, die installieren müssen; auf anderen Systemen wird es bereits so genutzt. Da /usr/local komplett gesichert werden muss, um ein System wiederherstellen zu können, bedeutet das auch keinen zusätzlichen Wartungsaufwand. Ein symbolischer Link nach /etc/local genügt, wenn auf einem System alle Einstellungen in derselben Hierarchie erscheinen sollen.

Beachten Sie, dass /usr/etc nach wie vor nicht erlaubt ist: Programme unter /usr sollen ihre Einstellungen unter /etc speichern.

/usr/local/share

Die Anforderungen für dieses Verzeichnis sind diegleichen wie für /usr/share. Einzige zusätzliche Regel ist, dass /usr/local/share/man und /usr/local/man dasselbe bedeuten müssen, also eines davon ein symbolischer Links aufs andere sein muss. [2]

Fußnoten

[1]

Software in / oder /usr darf bei Systemaktualisierung überschrieben werden. (Wir raten aber davon ab, Daten in /etc zu überschreiben.) Deshalb darf lokale Software nicht ohne einen guten Grund außerhalb von /usr/local plaziert werden.

[2]

Möglicherweise wird /usr/local/man in zukünftigen FHS-Versionen abgeschafft, also ist es wohl vernünftig, dieses zu einem symbolischen Link zu machen.