Wie sollen unter / opt installierte ausführbare Dateien zum Pfad hinzugefügt werden?


11

Können unter installierte Programme /optsicher miteinander verknüpft werden /usr/local/bin, was in Ubuntu und anderen Linux-Distributionen standardmäßig bereits im PATH enthalten ist?

Gibt es alternativ einen Grund, ein separates Verzeichnis zu erstellen /opt/binund dieses dem PATH hinzuzufügen, wie in dieser Antwort: Unterschied zwischen den Verzeichnissen / opt / bin und / opt / X / bin ?

Antworten:


10

Es gibt einen Unterschied zwischen /optund /usr/local/bin. Es wäre also verwirrend, nur Binärdateien miteinander zu verknüpfen. Ich würde sie nicht verwechseln.

/optist für die Installation von Add-On-Anwendungssoftwarepaketen vorgesehen , während das /usr/localVerzeichnis für den Systemadministrator bei der lokalen Installation von Software (mit makeund make install) vorgesehen ist. /usr/local/binist für Binärdateien von Software gedacht, die unter installiert ist /usr/local.

Gemäß dem Dateihierarchiestandard wäre der richtige Weg /opt/<package>/bin, das $PATHfür jedes einzelne Paket zu ergänzen . Wenn dies zu schmerzhaft ist (wenn Sie beispielsweise unzählige /opt/<package>/binVerzeichnisse haben), können Sie (der lokale Administrator) Symlinks von /opt/<package>/binzu dem /opt/binVerzeichnis erstellen . Dies kann dann einmal zu den Benutzern hinzugefügt $PATHwerden.


Eh, warum? /usr/local/binist für den Systemadministrator bestimmt. Wenn der Administrator Software installieren /optund Links dafür erstellen möchte /usr/local, ist das perfekt.
Gilles 'SO - hör auf böse zu sein'

@ Gilles Natürlich kann er, er kann machen was er will, er ist der Systemadministrator. Die beste Vorgehensweise wäre jedoch, sie getrennt zu halten.
Chaos

Okay, es hört sich so an, als wäre dies mehr eine Frage der Standardkonvention als alles andere. Ich war ein bisschen verrückt nach dem Mangel an Symmetrie "Es gibt einen Unterschied zwischen /optund /usr/local/bin" im Gegensatz zu "... zwischen /optund /usr/local" oder "... zwischen /opt/binund /usr/local/bin", aber nach dem Ende vermute ich, dass es gemeint war als ein Weg zu kombinieren /opt/binund /opt/.../bin. Wenn ja, frage ich mich, ob der Wortlaut verbessert werden könnte.
Kenneth Hanson

1
@chaos Du schreibst das laut FHS /opt/package/bin/oder /opt/bin/solltest zumindest zu $ ​​PATH hinzugefügt werden. Ich habe die veröffentlichte Referenz durchgelesen und sie sagt viel darüber aus, wie man strukturiert /optund was man dort hat, aber ich konnte keine Bestätigung finden, dass eines dieser Verzeichnisse unter /opt$ PATH hinzugefügt werden sollte. Könnten Sie vielleicht näher erläutern, wie Sie zu diesem Schluss gekommen sind? Prost
Vic

@vic Aus demselben Grund würden Sie jedes andere /whatever/binVerzeichnis in $ PATH einfügen, sodass Sie die ausführbaren Dateien aufrufen können, ohne jedes Mal den vollständigen Pfad einzugeben .
Kenneth Hanson
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.