Bei der Installation von Benutzeranwendungen geben die "Best Practices" an, wo sie sich befinden.

178

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

    
citadelgrad 05.08.2010, 16:42

6 Antworten

160

Das hängt wirklich davon ab. Wenn die Anwendung ein Makefile (für Python-Anwendungen) distutils (hat eine setup.py -Datei) oder ein ähnliches Build / Install-System hat, geben Sie es in /usr/local/ (Standardverhalten) ein.

Wenn Sie nur einen Tarball extrahieren und direkt ausführen müssen (z. B. Thunderbird, Firefox), dann fügen Sie ihn in /opt/ ein.

Warum? Soweit ich weiß, hat /usr/local/ eine Hierarchie, die /usr/ ähnelt. Ein Programm, das in /usr/ installiert werden soll, sollte in /usr/local/ funktionieren. Ein Programm, das nur ein Verzeichnis benötigt und alle Dateien / Bibliotheken relativ zu diesem Verzeichnis abruft, kann ein Verzeichnis für sich selbst in /opt/ bekommen.

    
Umang 05.08.2010, 16:53
94

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

Daher neige ich zu der Annahme, dass jede Distribution das Recht hat, über den Inhalt von /usr, zu stampfen, und dass meine spezifischen Ergänzungen zum System in /usr/local gehen, die ich vor einem Upgrade aufbewahre.

Inzwischen gehen Anwendungen und andere Dinge in /opt .

Manche Leute fühlen sich wohl dabei, Sachen in /home zu legen, obwohl ich selten dieser Konvention folge.

Alles, was gesagt wurde, ich lasse den Distribution Package Manager zuerst die Dinge auf seine Art machen, und dann mache ich das oben, wenn ich Sachen rolle.

    
Walt Stoneburner 17.09.2010 19:39
30

Installieren Sie instabile Programme wie Firefox in devel / home / user / opt / macht es viel einfacher zu entfernen, und keine Verwirrung für andere Benutzer, welche Version sie verwenden sollten ... Also, wenn es kein Programm für global ist verwenden Sie, installieren Sie 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 vorkompilierter (binärer) Pakete (Thunderbird, Eclipse, Netbeans, IBM NetSphere usw.) und dergleichen verwendet werden. Aber wenn sie nur für einen einzelnen Benutzer sind, sollten sie in Ihrem Home-Verzeichnis abgelegt werden.

Wenn Sie ein Programm ausführen möchten, das an einem "seltsamen" Ort installiert ist (wie / home / user / opt / firefox /) ohne den gesamten Pfad einzugeben, den Sie Ihrer $ PATH-Variablen hinzufügen müssen, können Sie das 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.

    
LassePoulsen 07.08.2010 10:40
24

Der Linux-Dateisystemhierarchiestandard gibt /usr/local an.

Aus Pfandrecht :

  

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.

    
popey 05.08.2010 16:45
5

Ich habe normalerweise einen Ordner mit dem Namen "Programs" in meinem Haus, wo ich diese Programme installiere, seltsam genug (oder nicht) sie sind alle Java-Sachen gerade jetzt.

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.

    
Javier Rivera 05.08.2010 16:57
1

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 Skripts vor und nach der Installation manchmal verpfuscht werden, obwohl sie Sie normalerweise warnen es denkt, dass die deb ein schlechtes vor oder nach der Installation Skript haben wird.