Wie gehen Sie im Allgemeinen für Ihre Paketinstallationen unter Linux vor, für Pakete, die nicht Teil der Repos Ihrer Distribution sind?
An meiner Seite bin ich es gewohnt, in / opt zu installieren. Aber seitdem habe ich dieses Dokument im Internet gesehen: http://www.pathname.com/fhs/ . Jetzt bin ich verwirrt: anscheinend wäre / usr / local auch eine möglichkeit.
Was ist der Unterschied zwischen beiden? Best Practices zum Teilen?
Vielen Dank
SirFabel
Antworten:
/usr/local
/opt
quelle
Nur als zusätzliche interessante Info: Die ursprüngliche Bedeutung von
/usr/local
ist, dass, wenn/usr
es im Netzwerk installiert ist (einzeln/usr
auf mehreren Computern gemeinsam genutzt),/usr/local
ein separates Dateisystem auf dem Computer vorhanden ist (Partition auf lokaler Festplatte).Und während dieses Themas, auch wenn es sich nicht um die Frage handelt: Wenn es mehrere Computer mit unterschiedlichen Architekturen gibt, gibt es natürlich einen
/usr
für jeden Bogen, aber/usr/share
es gibt noch ein anderes Dateisystem, das von den Architekturen gemeinsam genutzt wird (daher "Teilen"). .quelle
Die Art und Weise, wie ich es mache, ist, dass ich mich für / opt entscheide, wenn es ein Präfix für sich selbst oder ein Binärpaket erfordert (was so ziemlich der Solaris-Weg ist). Wenn ich aus dem Quellcode / usr / local kompiliere, gehe ich so vor.
quelle
Ich habe alles in ein privates Verzeichnis gelegt und benutze dann GNU stow .
Also werde ich das Paket X.ver installieren
/BASE/stow/X.ver
. GNU Stow wird dann kombiniert alle Pakete (mit Symlinks) in/BASE/bin
,/BASE/lib
usw.Konflikte und das Entfernen von Paketen sind viel einfacher zu handhaben.
quelle
So interpretiere ich den FHS-Standard:
/ usr / local ist für lokal erstellte oder lokal installierte Dateien vorgesehen, unabhängig davon, ob diese gepackt sind oder nicht, die zu einem Teil dieser Instanz des Betriebssystems werden.
/ opt ist ein Ort zum Installieren von "fremden" Paketen, die nicht Teil des Betriebssystems sind.
Solange Sie nur Dateien auf dem einzelnen System verwenden, auf dem Sie sie erstellen, ist / usr / local in Ordnung, und es ist daher das Standardbasisverzeichnis für die überwiegende Mehrheit der Open-Source-Software.
Wenn Sie vorhaben, Ihr Paket erneut zu verteilen, würde ich die Verwendung eines benutzerdefinierten Basisverzeichnisses wie / opt / myPackage empfehlen.
quelle
Solaris verwendet / opt viel. Viele moderne Linux-Distributionen erwarten jetzt Pakete in / usr / local /. Die Idee ist die gleiche - ein Ort, an dem Software installiert wird, mit der dieser Computer im Gegensatz zum Betriebssystem die gleichen Funktionen ausführt. Es ist ungefähr analog zu "Programme" auf einem Windows-System.
Wählen Sie eine und bleiben Sie dabei. Es ist einfach genug, symlink / opt auf / usr / local zu setzen.
quelle
Wenn Sie eine von Ihrer Betriebssystemdistribution bereitgestellte Software neu kompilieren, verwenden Sie / usr / local, um mehrere Architekturvorteile zu nutzen, die für Ihren eigenen Computer spezifisch sind.
Wenn Sie eine Software aus anderen Quellen als der Betriebssystemdistribution hinzufügen, fügen Sie sie in / opt ein.
quelle