Comment les exécutables installés sous / opt doivent-ils être ajoutés au chemin?


11

Les programmes installés sous /optpeuvent-ils être liés en toute sécurité /usr/local/bin, qui est déjà dans le PATH par défaut dans Ubuntu et d'autres distributions Linux?

Sinon, y a-t-il une raison de créer un répertoire séparé /opt/binet de l'ajouter au CHEMIN, comme dans cette réponse: Différence entre les répertoires / opt / bin et / opt / X / bin ?

Réponses:


10

Il y a une différence entre /optet /usr/local/bin. Par conséquent, la simple liaison symbolique des fichiers binaires de l'un à l'autre serait source de confusion. Je ne les mélangerais pas.

/optest destiné à l'installation de progiciels d'application complémentaires , tandis que le /usr/localrépertoire est destiné à l' administrateur système lors de l'installation locale du logiciel (avec makeet make install). /usr/local/binest destiné aux binaires des logiciels installés sous /usr/local.

Selon la norme de hiérarchie des fichiers , la manière correcte serait d'ajouter /opt/<package>/binà $PATHchaque package individuel. Si cela est trop douloureux (lorsque vous avez un nombre incalculable de /opt/<package>/binrépertoires par exemple), vous (l'administrateur local) pouvez créer des liens symboliques de /opt/<package>/binvers le /opt/binrépertoire. Cela peut ensuite être ajouté aux utilisateurs $PATHune fois.


Eh, pourquoi? /usr/local/binest à l'usage de l'administrateur système. Si l'administrateur souhaite installer un logiciel /optet créer des liens pour celui-ci /usr/local, c'est parfaitement cromulent.
— Gilles 'SO- arrête d'être méchant'

@ Gilles Bien sûr qu'il le peut, il peut faire tout ce qu'il veut, il est l'administrateur système. Mais la meilleure pratique serait de les séparer.
— chaos

D'accord, il semble donc que ce soit plus une question de convention standard qu'autre chose. J'étais un peu bizarre par le manque de symétrie "Il y a une différence entre /optet /usr/local/bin" par opposition à que "... entre /optet /usr/local" ou "... entre /opt/binet /usr/local/bin", mais après être arrivé à la fin, je pense que c'était voulu comme un moyen de combiner /opt/binet /opt/.../bin. Si oui, je me demande si le libellé pourrait être amélioré.
— Kenneth Hanson

1
@chaos Vous écrivez cela, selon FHS, /opt/package/bin/ou du moins /opt/bin/devrait être ajouté à $ PATH. J'ai lu la référence publiée et cela en dit long sur la façon de structurer /optet ce qu'il y a à l'intérieur, mais je n'ai pas pu trouver de confirmation que l'un de ces répertoires sous /optdevrait être ajouté à $ PATH. Pourriez-vous peut-être expliquer comment vous en êtes arrivé à cette conclusion? Santé
— vic

@vic La même raison pour laquelle vous mettriez n'importe quel autre /whatever/binrépertoire dans $ PATH - vous pouvez donc invoquer les exécutables sans taper le chemin complet à chaque fois.
— Kenneth Hanson
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.