Gelegentlich installiere ich Anwendungen manuell, anstatt sie zu verwenden apt
oder ein anderer Paketmanager.
Welcher Ort (/usr/
, /usr/local/
, /opt/
, /home/
usw.) wird von "Best Practices" für die Installation von Benutzeranwendungen vorgeschlagen?
Das hängt wirklich davon ab. Wenn die Anwendung ein Makefile hat (für Python-Apps) verwendet sie distutils (hat a setup.py
Datei) oder ein ähnliches Build / Install System, setzen Sie es in /usr/local/
(Standardverhalten).
Wenn Sie nur einen Tarball extrahieren und direkt ausführen müssen (z. B. Thunderbird, Firefox), dann legen Sie ihn in /opt/
.
Warum? Von dem, was ich verstehe, /usr/local/
hat eine ähnliche Hierarchie /usr/
. Also ein Programm, das darauf wartet, "installiert" zu werden /usr/
sollte gut funktionieren in /usr/local/
. Ein Programm, das nur ein Verzeichnis benötigt und alle Dateien / Bibliotheken relativ zu diesem Verzeichnis bekommt, kann ein Verzeichnis für sich selbst erhalten /opt/
.
Es ist gut, sich daran zu erinnern /usr
steht nicht für Benutzer aber eher Unix-Systemressourcen.
Als solche neige ich zu der Annahme, dass jede Distribution das Recht hat, über den ganzen Inhalt von /usr,
und dass meine spezifischen Ergänzungen zum System hineingehen /usr/local
, die ich vor einem Upgrade aufbewahre.
Inzwischen gehen Anwendungen und andere Dinge ein /opt
.
Manche Menschen fühlen sich wohl dabei, Dinge hineinzulegen /home
obwohl ich dieser Konvention selten folge.
Alles, was gesagt wurde, ich lasse den Distribution Package Manager zuerst die Dinge auf seine Art machen, und dann mache ich das oben beschriebene, wenn ich Sachen rolle.
Installieren Sie unstable Programme wie Firefox-Entwicklung in / home / Benutzer / opt / macht es viel einfacher zu entfernen, und keine Verwirrung für andere Benutzer, welche Version sie verwenden sollten ... Wenn es also kein Programm für die globale Verwendung ist, installieren es in einem Unterordner in Ihrem Home-Verzeichnis.
Installiere niemals Programme in / usr /, es wird wahrscheinlich Chaos verursachen, Dinge, die in / usr / installiert sind, sind nur für Distributionspakete gedacht. / usr / local / wird für Pakete lokal kompiliert. Und die Struktur funktioniert genauso! Dateien in / usr / local / werden gegenüber Dateien in / usr / priorisiert
/ opt / sollte für die Installation von vorkompilierten (binären) Paketen (Thunderbird, Eclipse, Netbeans, IBM NetSphere usw.) und ähnlichem verwendet werden. Aber wenn sie nur für einen einzelnen Benutzer sind, sollten sie in Ihrem Home-Verzeichnis abgelegt werden.
Wenn Sie in der Lage sein möchten, ein Programm auszuführen, das an einem "seltsamen" Ort installiert ist (wie / home / user / opt / firefox /), ohne den gesamten Pfad einzugeben, den Sie zu Ihrer $ PATH-Variablen hinzufügen müssen, können Sie dies tun Fügen Sie eine Zeile wie diese in Ihrem /home/user/.profile hinzu
export PATH=/home/user/opt/firefox:$PATH
Der Ordnername sollte derjenige sein, in dem sich die ausführbare Datei befindet, die Sie ausführen müssen.
Der Linux-Dateisystemhierarchie-Standard gibt an /usr/local
.
Von http://tldp.org/LDP/Linux-Filesystem-Hierarchie/html/usr.html:
Die ursprüngliche Idee hinter "/ usr / local" war eine separate ("lokale")
'/ usr' Verzeichnis auf jeder Maschine neben '/ usr', die gerade sein könnte
schreibgeschützt von woanders montiert. Es kopiert die Struktur von
"/ usr". Heutzutage wird "/ usr / local" allgemein als ein guter Ort in
was zu selbst kompilierten oder Drittanbieter-Programmen zu halten. Das / usr / lokal
Die Hierarchie wird vom Systemadministrator bei der Installation verwendet
Software lokal. Es muss vor dem Überschreiben sicher sein, wenn der
Systemsoftware wird aktualisiert. Es kann für Programme und Daten verwendet werden, die
sind unter einer Gruppe von Hosts teilbar, aber nicht in / usr. Örtlich
Die installierte Software muss in / usr / local und nicht in / usr platziert werden
es sei denn, es wird installiert, um Software in / usr zu ersetzen oder zu aktualisieren.
Normalerweise habe ich einen Ordner mit dem Namen "Programs" in meinem Haus, wo ich diese Programme installiere, merkwürdig genug (oder nicht), sie sind alle Java-Sachen im Moment.
Es hat einen großen Vorteil für mich, wenn ich Computer neu installiere oder ändere, werden sie mit dem Rest meines Hauses bewegt. Es hat einen klaren Nachteil, diese Apps sind nur für meinen Benutzer verfügbar.
Verwenden Sie "checkinstall", um Ihr Alien-Paket in eine Deb-Datei zu konvertieren, sodass es mit dem Paket-Manager deinstalliert werden kann.
Beachten Sie, dass Konfigurationsdateien oft nicht als Konfigurationsdateien behandelt werden (vielleicht ignoriert oder vielleicht als Teil der App behandelt werden), und dass Vor- und Nachinstallations-Skripte manchmal verpfuscht werden, obwohl sie Sie normalerweise warnen, wenn sie denkt Deb hat ein schlechtes Vor- oder Nachinstallations-Skript.