Was ist die richtige Methode, um Einzelbenutzer-Binärdateien zu $PATH hinzuzufügen?

Was ist die richtige Methode, um Einzelbenutzer-Binärdateien zu $PATH hinzuzufügen?

Wie die meisten Leute installiere ich gelegentlich Dinge oder schreibe/verwende Skripte, die von außerhalb der Repositories meiner Distribution stammen oder „handgemacht“ sind, sodass sie möglicherweise nicht im Standardpfad des Systems landen oder diesem nicht hinzugefügt werden sollten.

Nun gibt es verschiedene Möglichkeiten weiter vorzugehen.

Etwas, das ich vielleicht nur gelegentlich ausführen möchte oder sowieso nur in einem bestimmten Verzeichnis ausführen muss, kann seitdem so bleiben, wie es ist, cd ~/stuff/fancyappund ist dann ./fancyexecutablegut genug.

Aber manchmal möchte ich vielleicht einfach etwas tun können, wie backup.shvon jedem beliebigen Ort aus, an dem ich mich befinde, oder andere Programme müssen über eine bestimmte ausführbare Datei informiert sein, und dafür kann ich meinen $PATH mit etwas wie aktualisieren PATH=$PATH:~/bin/backup/und export PATHmeine Sitzung neu starten. Dies führt mich jedoch zu dem Problem, entweder einen „Home-Bin“ zu haben, in den ich jede ausführbare Datei verschiebe/symbolisch verlinke ~/bin/, oder, wenn ich einen ordentlichen Home-Bin haben möchte, jedes einzelne Unterverzeichnis zu meinem Pfad hinzufügen zu müssen. (Oder ich könnteetwas zusammenhacken, um den Pfad rekursiv zu machen)

Was ist also die richtige, empfohlene und sichere Methode, mit Ihrem eigenen System umzugehen, bindas über mehrere ausführbare Dateien und Unterverzeichnisse verfügt?

Antwort1

Ich installiere die gesamte lokal integrierte Software in /home/user/.localeinem Verzeichnis. Dieses Verzeichnis kopiert im Wesentlichen die Verzeichnisstruktur von /usr:

> ls ~/.local
bin  etc  include  jars  lib  lib64  libexec  man  share

Sie können die Build-Tools anweisen, dieses Verzeichnis als Installationspräfix festzulegen. Einige Tools verwenden den Wert der Umgebungsvariablen, PREFIXum den Installationsort zu bestimmen. Daher ist es eine gute Idee, diesen ebenfalls festzulegen. Verlassen Sie sich jedoch nicht darauf.

PATHBeachten Sie, dass Sie die Werte mehrerer Umgebungen wie , LD_LIBRARY_PATH, PKG_CONFIG_PATH, CLASSPATHentsprechend festlegen müssen .

verwandte Informationen