Ich möchte ein Programm unter Linux installieren und als Daemon ausführen. (Team Speak 3 in diesem Fall, aber die Frage ist allgemeiner Natur). Es wird kein Paket bereitgestellt, nur geteerte Binärdateien. Wo in der Verzeichnisstruktur sollte ich ein solches Programm nach Konvention setzen?
Im Web habe ich festgestellt, dass / opt für "optionale Zusatzanwendungen" steht, während / usr für "Benutzerprogramme" steht. Ich fand ein Tutorial, das / opt vorschlug, während das andere / usr sugested.
Welches ist also "richtiger"?
/usr/local
) vom Paketmanager verwaltet wird, ODER wie Sie ein eigenes Paket dafür erstellen.Antworten:
Das "Richtigere" hängt von Ihrer Distribution ab. Sie sollten in den Richtlinien Ihrer Distribution nachlesen, wo Software abgelegt werden soll, die nicht (häufig
/usr/local
) vom Paketmanager verwaltet wird, ODER wie Sie ein eigenes Paket dafür erstellen.Wie Sie sagten, hat TeamSpeak einfach alles in einem Ordner abgelegt (und ist möglicherweise nicht einfach zu reorganisieren). Ja, das
/opt/
ist wahrscheinlich das Beste.(In Archlinux kann der Paketmanager beispielsweise dort installiert werden, sodass ich immer noch ein PKGBUILD für die Installation erstellen würde
/opt
.)Außerdem versuchen Distributionen normalerweise , dem Dateisystem-Hierarchie-Standard zu folgen. Hier sollten Sie nach allgemeineren Konventionen suchen.
quelle
Wenn Sie Ihre eigene Software kompilieren, steuern Sie letztendlich den Installationsort. Standardmäßig wird die Software manuell kompiliert und installiert (nicht über einen Paketmanager, z. B. apt, yum, pacman)
/usr/local
. Einige Pakete (Programme) erstellen ein Unterverzeichnis, in/usr/local
dem alle relevanten Dateien gespeichert werden, z/usr/local/openssl
. Andere Pakete installieren die erforderlichen Dateien in vorhandenen Verzeichnissen wie/usr/local/sbin
und/usr/local/etc
. Dies sind lediglich Standardspeicherorte, die während der Kompilierung geändert werden können.Beim Kompilieren von Software kann der Installationsort mithilfe der
--prefix=
Option bei der Ausführung angegeben werden./configure
. Es wird dringend empfohlen, dass Sie alle verfügbaren Optionen für Ihr Paket anzeigen, indem Sie ausführen$ ./configure --help | less
. Darüber hinaus ist das Durchsuchen der mit Ihrem Paket gelieferten INSTALL- und README-Dokumente eine gute Idee. Sie enthalten in der Regel paketspezifische Installationsanweisungen und Abhängigkeitsinformationen.Es sollte auch beachtet werden , dass , obwohl Sie Software überall speichern kann, gemäß der FHS , Quellcode sollte lokal installierte Software in gespeichert werden
/usr/local/src
Standardizing , wo Sie Ihre Quellbäume Sie leicht ermöglicht es speichern , um einen Baum zu suchen , wenn Sie eine Aktie kopieren müssen Konfigurationsdatei oder Binärdatei. Obwohl einige Pakete es verwenden, sollte Ihr Quellcode nicht so gespeichert werden,/usr/src
wie er für Systemsoftware wie den Kernel vorgesehen ist.Schließlich müssen Sie sicherstellen, dass Ihr Installationsort in Ihrem Verzeichnis enthalten ist
$PATH
. Wenn Sie sich entscheiden, Ihr Paket zu installieren/opt
, es aber nicht in Ihrer$PATH
Shell ist, werden die ausführbaren Dateien nicht gefunden und Sie müssen den absoluten Pfad verwenden, um Ihre Programme aufzurufen. Hier sind einige großartige Diskussionen von AU über die Konfiguration Ihrer$PATH
Zusätzliche Lektüre:
man hier
quelle
Die Linux Standard Base und das Filesystem Hierarchy Standards sind wohl die Standards, wo und wie Sie die Software auf einem Linux - System installieren sollten und würde platzieren Software vorschlagen , die auch nicht in Ihrer Distribution enthalten ist
/opt
oder/usr/local/
vielmehr Verzeichnisse darin (/opt/<package> /opt/<provider> /usr/local/bin
).Die beste Vorgehensweise besteht darin, heruntergeladene Software in ein installierbares Softwarepaket zu konvertieren, das Ihrer Distribution eigen ist, z. B. dpkg- oder rpm-Formate. Dies erleichtert das Melden, Aktualisieren und Entfernen der Software.
quelle
/opt
und/usr/local/
welche beiden Optionen zur Verfügung standen, er wollte jedoch spezifische Informationen darüber, welche dieser Optionen er verwenden sollte. Dies könnte eine gültige Antwort sein, wenn stattdessen behauptet wird, dass die beiden Standorte austauschbar sind (obwohl ich bestreiten würde, dass es in einem solchen Fall eine korrekte Antwort wäre).Binaries gehen in den
bin
Ordner nach gängigen Konventionen, wie Sie Ihre Paketstruktur organisieren würden, liegt bei Ihnen, ich kann mir vorstellen,/opt/<prog_name>/
ob es sich nur um eine Liste von Binaries handelt.quelle
Ich hatte die gleiche Frage bei der Installation von Eclipse über das Eclipse-Installationsprogramm.
Mir ist aufgefallen, dass Gimp, Perl und Vim im
/usr/share
Ordner installiert sind und ich habe beschlossen, es dort zu installieren.quelle
Es gibt zwei Möglichkeiten, Programme zu installieren, je nachdem, wie sie gepackt sind.
Über den Software-Manager (apt, synaptic, Gdebi usw.) liegt das Programm in Form eines Pakets vor, normalerweise .deb oder rpm. Software-Manager verarbeiten in den meisten Fällen Abhängigkeiten und installieren Binärdateien in der Regel in
/usr/bin
, Konfigurationsdateien in/etc
usw. Sie können auch eine Konfigurationsdatei für das Programm in Ihrem Zuhause schaffen, in der Regel~/.foo
. Wenn Sie diese Datei bearbeiten können, können Sie auf diese Weise auch die Einstellungen für Ihre Sitzung ändern. Wenn Sie das Paket entfernen, findet der Manager alle Dateien und entfernt sie sauber (alle Speicherorte werden in einer speziellen Textdatei gespeichert). Möglicherweise werden jedoch einige Konfigurationsdateien beibehalten, z. B. die in Ihrem Basisordner.Sie laden ein Programm (normalerweise komprimiert) in Form von vorkompilierten Binärdateien für Ihre Architektur herunter. Die ausführbare Datei des Programms befindet sich normalerweise in einem einzelnen Ordner neben anderen Dateien (dynamisch verknüpfte Bibliotheken usw.). Dieser gesamte Ordner kann mit Root-Rechten entweder an einen
/opt
oder/usr/bin
an einen anderen Benutzer kopiert werden und kann von jedem Benutzer verwendet werden, sofern die Berechtigungen dies zulassen. Ich selbst habe die Ordner mit den Binärdateien in meinen Home-Ordner gelegt~/bin
. Jetzt sollten Sie das Programm ausführen können, indem Sie seine bin-Datei aufrufen.quelle