GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wo sollte eine lokale ausführbare Datei platziert werden?

Ich habe eine ausführbare Datei für den Perforce-Versionskontrollclient (p4 ). Ich kann es nicht in /opt/local platzieren weil ich keine Root-Rechte habe. Gibt es einen Standardspeicherort, an dem es unter $HOME abgelegt werden muss ?

Hat die Dateisystemhierarchie eine Konvention, die besagt, dass lokale ausführbare Dateien/Binärdateien in $HOME/bin platziert werden müssen ?

Ich konnte keine solche Konvention finden, die im Wikipedia-Artikel für die FHS erwähnt wird.

Wenn es tatsächlich eine Konvention gibt, müsste ich den Pfad zu $HOME/bin explizit angeben Verzeichnis oder wo auch immer sich der bin befindet Verzeichnis ist?

Akzeptierte Antwort:

Wenn eine nicht vom System installierte und verwaltete Binärdatei systemweit für mehrere Benutzer zugänglich sein muss, sollte sie im Allgemeinen von einem Administrator in /usr/local/bin abgelegt werden . Es gibt eine vollständige Hierarchie unter /usr/local die im Allgemeinen für lokal kompilierte und installierte Softwarepakete verwendet wird.

Wenn Sie der einzige Benutzer einer Binärdatei sind, installieren Sie sie in $HOME/bin ist der geeignete Ort, da Sie es selbst installieren können und Sie der einzige Verbraucher sind. Wenn Sie ein Softwarepaket aus dem Quellcode kompilieren, ist es auch angebracht, eine teilweise oder vollständige lokale Hierarchie in Ihrem $HOME zu erstellen Verzeichnis. Die vollständige lokale Hierarchie würde so aussehen.

  • $HOME/bin Lokale Binärdateien
  • $HOME/etc Hostspezifische Systemkonfiguration für lokale Binärdateien
  • $HOME/games Binärdateien für lokale Spiele
  • $HOME/include Lokale C-Header-Dateien
  • $HOME/lib Lokale Bibliotheken
  • $HOME/lib64 Lokale 64-Bit-Bibliotheken
  • $HOME/man Lokale Online-Handbücher
  • $HOME/sbin Binärdateien des lokalen Systems
  • $HOME/share Lokale architekturunabhängige Hierarchie
  • $HOME/src Lokaler Quellcode

Beim Ausführen von configure , sollten Sie Ihre lokale Hierarchie für die Installation definieren, indem Sie $HOME angeben als Präfix für die Installationsvorgaben.

./configure --prefix=$HOME

Jetzt, wenn make && make install ausgeführt werden, werden die kompilierten Binärdateien, Pakete, Manpages und Bibliotheken in Ihrem $HOME installiert Lokale Hierarchie. Wenn Sie nicht manuell ein $HOME erstellt haben lokale Hierarchie, make install erstellt die vom Softwarepaket benötigten Verzeichnisse.

Nach der Installation in $HOME/bin , können Sie entweder $HOME/bin hinzufügen zu Ihrem $PATH oder rufen Sie die Binärdatei mit dem absoluten $PATH auf . Einige Distributionen enthalten $HOME/bin in Ihren $PATH standardmäßig. Sie können dies entweder durch echo $PATH testen und sehen, ob $HOME/bin vorhanden ist, oder legen Sie die Binärdatei in $HOME/bin ab und Ausführen von which binaryname . Wenn es mit $HOME/bin/binaryname zurückkommt , dann ist es standardmäßig in Ihrem $PATH.

Siehe auch:Debian – Suchen Sie nach zuletzt geänderten Dateien in den letzten 2 Minuten in Ihrem Home-Verzeichnis, die eine bestimmte Zeichenfolge enthalten?
Linux
  1. Wohin mit selbst kompilierter Software?

  2. Wie macht man ein Programm überall ausführbar?

  3. Welche Distributionen haben $home/.local/bin in $path?

  4. $home/.local/bin nicht im Pfad für Ubuntu 19.04?

  5. Wo werden lokale ausführbare Dateien platziert?

Wo sollten Umgebungsvariablen für Jenkins festgelegt werden?

Was bedeuten /usr/sbin, /usr/local/sbin und /usr/local/bin?

Wo ist die ausführbare PHP-Datei unter Ubuntu?

Wo soll ich meine App unter Linux installieren?

Unterschied zwischen /bin und /usr/bin

Der Tisch ist als abgestürzt markiert und sollte repariert werden