Gelegentlich installiere ich Anwendungen manuell, anstatt einen apt
anderen Paketmanager zu verwenden.
An welchem Ort ( /usr/
, /usr/local/
, /opt/
, /home/
, etc.) wird von "Best Practices" für die Installation von Benutzeranwendungen vorgeschlagen?
application-development
software-installation
citadelgrad
quelle
quelle
/opt
und/usr/local
: unix.stackexchange.com/q/11544/11917Antworten:
Das hängt wirklich davon ab. Wenn die Anwendung ein Makefile hat oder zum Beispiel für Python-Apps, wenn die Anwendung distutils verwendet (z. B. eine
setup.py
Datei hat), oder ein ähnliches Build / Install-System, sollten Sie es installieren/usr/local/
. Dies ist häufig das Standardverhalten.Soweit ich weiß,
/usr/local/
hat eine Hierarchie, die ähnlich ist/usr/
. Verzeichnisse wie/usr/bin/
und/usr/lib/
sind jedoch normalerweise für die Installation von Paketen über reserviertapt
. Ein Programm, das erwartet, "installiert" zu werden,/usr/
sollte also gut funktionieren/usr/local/
.Wenn Sie nur einen Tarball extrahieren und direkt ausführen müssen (z. B. Firefox), legen Sie ihn in
/opt/
. Ein Programm, das nur ein Verzeichnis benötigt und alle Dateien / Bibliotheken in Bezug auf dieses Verzeichnis abruft, kann ein Verzeichnis für sich selbst abrufen/opt/
.quelle
opt/
Meiner Meinung nach haben Sie den Nagel auf den Kopf getroffen, und das zu seinem Zweck.~/.local/share
? @ Marco~
(Ihrem Heimverzeichnis) installieren , aber das wird eine Anwendung nur für einen Benutzer zugänglich machen. Andere Benutzer auf Ihrem System müssen ihre eigenen Installationen dieser Software installieren und warten. Was die Best Practices für die Installation von Anwendungen betrifft, installieren Sie Ihr Basisverzeichnis. Ich glaube, es gibt keine so strengen Richtlinien, da Sie die Systempakete nicht beeinträchtigen.Es ist gut zu bedenken, dass
/usr
dies nicht für Benutzer , sondern für Unix-Systemressourcen steht .Als solches neige ich dazu, mir vorzustellen, dass jede Distribution das Recht hat, über den gesamten Inhalt von zu stampfen,
/usr,
und dass meine spezifischen Ergänzungen zum System eingehen/usr/local
, die ich vor einem Upgrade behalte.In der Zwischenzeit gehen Anwendungen und andere Dinge ein
/opt
.Einige Leute fühlen sich wohl
/home
, wenn sie etwas einbauen , obwohl ich dieser Konvention selten folge.Trotzdem überlasse ich es dem Manager des Distributionspakets, zuerst die Dinge auf seine Weise zu erledigen, und dann das oben Genannte, wenn man Sachen von Hand rollt.
quelle
User
. Das lag daran, dass Linux-Benutzer Entwickler waren. Als es anfing, sich in Entwickler und Benutzer zu unterteilen, wurde das Verzeichnis/home
eingeführt. Und dann hatte jemand die Idee zu sagen , es bedeutetUnix System Resources
, was nicht wirklich Sinn macht, denn wir haben denUnix system Resources
in/dev
Installieren Sie instabile Programme wie Firefox Devel in / home / user / opt /, um das Entfernen zu vereinfachen. Andere Benutzer wissen nicht, welche Version sie verwenden sollen. Wenn es sich also nicht um ein Programm für den globalen Gebrauch handelt, installieren Sie es es in einem Unterordner in Ihrem Home-Verzeichnis.
Installieren Sie niemals Programme in / usr /. Dies kann zu Chaos führen. Die in / usr / installierten Dinge sind nur für Distributionspakete gedacht. / usr / local / ist für lokal kompilierte Pakete. Und die Struktur funktioniert genauso! Dateien in / usr / local / haben Vorrang vor Dateien in / usr /
/ opt / sollte für die Installation von vorkompilierten (binären) Paketen (Thunderbird, Eclipse, Netbeans, IBM NetSphere usw.) und dergleichen verwendet werden. Wenn sie jedoch nur für einen einzelnen Benutzer bestimmt sind, sollten sie in Ihrem Home-Verzeichnis abgelegt werden.
Wenn Sie ein Programm ausführen möchten, das an einem "seltsamen" Ort installiert ist (z. B. / home / user / opt / firefox /), ohne den gesamten Pfad einzugeben, den Sie benötigen, um es Ihrer $ PATH-Variablen hinzuzufügen, können Sie dies tun Fügen Sie eine Zeile wie diese in Ihrem /home/user/.profile hinzu
Der Ordnername sollte derjenige sein, in dem sich die ausführbare Datei befindet, die Sie ausführen müssen.
quelle
Der Linux Filesystem Hierarchy Standard gibt an
/usr/local
.Von http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html :
quelle
Normalerweise habe ich einen Ordner mit dem Namen "Programme" in meinem Haus, in dem ich diese Programme installiere, seltsamerweise (oder auch nicht) sind sie derzeit alle Java-Programme.
Es hat einen großen Vorteil für mich, wenn ich Computer neu installiere oder ändere, werden sie mit dem Rest meines Zuhauses verschoben. Es hat einen klaren Nachteil, dass diese Apps nur meinem Benutzer zur Verfügung stehen.
quelle
/
Verzeichnis zu formatieren und dann den gleichen alten Benutzernamen und das gleiche Passwort einzugeben, aber ich habe festgestellt, dass Ubuntu einen anderen Home-Ordner erstellt.Verwenden Sie "checkinstall", um Ihr Alien-Paket in ein Deb zu konvertieren, damit es mit dem Paket-Manager deinstalliert werden kann.
Beachten Sie, dass Konfigurationsdateien häufig nicht als Konfigurationsdateien behandelt werden (möglicherweise ignoriert oder möglicherweise als Teil der App behandelt), und dass Skripts vor und nach der Installation manchmal verpfuscht werden, obwohl Sie in der Regel gewarnt werden, wenn dies der Fall ist deb wird ein fehlerhaftes Skript vor oder nach der Installation haben.
quelle