it-swarm.com.de

Wo schlagen "Best Practices" bei der Installation von Benutzeranwendungen vor, dass diese gefunden werden?

Gelegentlich installiere ich Anwendungen manuell, anstatt apt oder einen anderen Paketmanager zu verwenden.

Welcher Speicherort (/usr/, /usr/local/, /opt/, /home/ usw.) wird von "Best Practices" für die Installation von Benutzeranwendungen empfohlen?

206
citadelgrad

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.

Nach meinem Verständnis hat /usr/local/ eine ähnliche Hierarchie wie /usr/. Verzeichnisse wie /usr/bin/ und /usr/lib/ sind jedoch normalerweise für die Installation von Paketen über apt reserviert. Ein Programm, das erwartet, in /usr/ "installiert" zu werden, sollte also in /usr/local/ gut funktionieren.

Wenn Sie nur einen Tarball extrahieren und direkt ausführen müssen (z. B. Firefox), setzen Sie ihn in /opt/. Ein Programm, das nur ein Verzeichnis benötigt und alle Dateien/Bibliotheken in Bezug auf dieses Verzeichnis abruft, kann in /opt/ ein Verzeichnis für sich selbst abrufen.

182
Umang

Es ist gut daran zu denken, dass /usr nicht für Benutzer steht, sondern für nix-Systemressourcen.

Als solches neige ich dazu, mir vorzustellen, dass jede Distribution das Recht hat, den gesamten Inhalt von /usr, abzuspielen, und dass meine spezifischen Ergänzungen zum System in /usr/local gespeichert sind, die ich vor einem Upgrade behalte.

In der Zwischenzeit gehen Anwendungen und andere Dinge in /opt ein.

Einige Leute fühlen sich wohl, wenn sie etwas in /home einfügen, 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.

116

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 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

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.

34
LassePoulsen

Der Linux Filesystem Hierarchy Standard gibt /usr/local an.

Von http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html :

Die ursprüngliche Idee hinter '/ usr/local' war, auf jedem Computer neben '/ usr' ein separates ('local')/usr-Verzeichnis zu haben, das möglicherweise nur von einem anderen Ort aus schreibgeschützt eingehängt werden kann. Es kopiert die Struktur von '/ usr'. Heutzutage wird/usr/local allgemein als ein guter Ort angesehen, um selbst kompilierte Programme oder Programme von Drittanbietern aufzubewahren. Die/usr/local-Hierarchie wird vom Systemadministrator beim lokalen Installieren der Software verwendet. Es muss sicher sein, dass es beim Aktualisieren der Systemsoftware nicht überschrieben wird. Es kann für Programme und Daten verwendet werden, die von einer Gruppe von Hosts gemeinsam genutzt werden können, sich jedoch nicht in/usr befinden. Lokal installierte Software muss in/usr/local und nicht in/usr abgelegt werden, es sei denn, sie wird installiert, um Software in/usr zu ersetzen oder zu aktualisieren.

26
popey

Normalerweise habe ich einen Ordner mit dem Namen "Programme" in meinem Haus, in dem ich diese Programme installiere, seltsamerweise (oder auch nicht) sind sie alle Java.

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.

6
Javier Rivera

Verwenden Sie "checkinstall", um Ihr Alien-Paket in ein Deb zu konvertieren, so dass es mit dem Paketmanager 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 hat ein fehlerhaftes Skript vor oder nach der Installation.