Unterschiede zwischen den vielen lib-Ordnern unter Linux

14

Was ist der Unterschied zwischen den vielen Bibliotheken im Linux-System? (/ lib, / usr / lib, / var / lib, / usr / share / lib usw. usw.).

Ich weiß, dass es bei jeder Installation einer Anwendung automatisch von synaptic verarbeitet wird. Wenn ich jedoch Linux-Entwickler werden möchte, muss ich wissen, wo meine Anwendungsbibliotheken im System abgelegt werden sollen.

Andreas Wong
quelle

Antworten:

10

In der Regel wird Ihre Software entweder unter / oder / usr oder / usr / local installiert. Dies wird als "Präfix" bezeichnet. / ist normalerweise für die kritischsten Betriebssystemprogramme reserviert. / usr / ist für Paketmanager reserviert. Wenn Sie Software schreiben, ist es daher sehr höflich, sie so einzurichten, dass das Präfix / usr / local lautet. Dies kann dann überschrieben werden, wenn jemand es für eine Distribution verpackt.

Beachten Sie, dass ich nicht speziell über "lib" spreche. Unter dem Präfix gibt es mehrere gängige Unterverzeichnisse, von denen lib nur eines ist. "bin" wird für ausführbare Dateien verwendet, "share" für Datendateien, "lib" für gemeinsam genutzte Bibliotheken und so weiter. Wenn Ihr Programm eine Bibliothek ist, können Sie es standardmäßig in / usr / local / lib installieren. Wenn es sich um ein normales Programm handelt, können Sie es mit Ihren Datendateien in / usr / local / share in / usr / local / bin installieren lassen. Wichtig ist, dass Sie es so gestalten, dass das Präfix beim Kompilieren ausgewählt werden kann. Einige bevorzugen möglicherweise die Installation in / usr anstelle von / usr / local oder umgekehrt.

Matthew Talbert
quelle
Ihr Punkt ist also, dass die Standorte eher eine Richtlinie als eine harte Grenze sind?
Andreas Wong
1
Es ist eine Richtlinie, aber sie sollte befolgt werden, und viele Anwendungen erwarten bestimmte Dateien an bestimmten Stellen.
Jim Deville
@ James Punkt genommen: D
Andreas Wong
8

Es gibt auch einen Standard, der die Hierarchie des Linux / Unix-Dateisystems beschreibt. Es kann unter folgender Adresse gefunden werden: http://www.pathname.com/fhs/ . Dies ist hauptsächlich für Distributionsentwickler gedacht, aber ich sehe keinen Grund, warum ein Benutzer / Entwickler sich dessen nicht bewusst sein sollte.

Ahe
quelle
0

/ bin und / sbin

  • Binärdateien, die für die Systemadministration und auch im Einzelbenutzermodus verwendet werden. Ihre Bibliotheksdateien befinden sich in / lib.

/ usr / bin und / usr / sbin

  • Enthält nicht wesentliche nicht wesentliche Binärdateien, die von allen Benutzern verwendet werden, sowie Binärdateien, die für Netzwerkdienste und alle verwendet werden. Ihre Bibliotheken befinden sich in / usr / lib.

/ var / lib

  • Enthält Dateien, die Informationen über den Status laufender Programme oder Instanzen von Programmen enthalten. Der Benutzer muss dies nicht ändern.

/ usr / share / lib

  • Enthält architekturunabhängige Datendateien.
RahulKrishnan RA
quelle