Où installer les logiciels et exécutables pour tous les utilisateurs


15

Par défaut, certaines applications s'installent dans / usr / local / bin, mais si je change d'utilisateur, cet utilisateur pourra-t-il accéder à cette application? J'ai lu quelque part ici (une autre question) que je devrais utiliser / opt? Mais les binaires qui par défaut vont dans / usr / local / bin? theres non / opt / bin?


Réponses:


19

Habituellement, vous ne devriez pas avoir à essayer d'installer quoi que ce soit à la main. Dans presque tous les cas, vous trouverez un package .deb. S'il n'y a pas un google pour des suggestions (comme comment installer Oracle JDK dans Ubuntu ). S'il s'agit de votre propre logiciel, consultez le Guide d'emballage Ubuntu pour obtenir de l'aide sur la façon de placer correctement des éléments dans Ubuntu.

Si vous devez quand même le faire, mettez le binaire dans / opt / myapp et liez l'exécutable avec ln -s /opt/myapp/myappbinary /usr/local/bin/myappbinary. Si vous souhaitez en savoir plus sur le type de sujet man hierdans un terminal. La différence entre / usr / bin et / usr / local / bin y est expliquée. Dans tous les cas, les deux chemins se trouvent dans la variable d'environnement $ PATH. Cela signifie que tout binaire que vous y mettrez sera exécutable par quiconque donnant simplement le nom du binaire (et non le chemin complet). Donc, en utilisant l'exemple ci-dessus, vous pouvez exécuter votre programme avec myappbinaryau lieu d'avoir à donner le chemin complet /opt/myapp/myappbinary.


1
Quel est le but de le mettre dans / opt, surtout si vous allez simplement le lier symboliquement dans / usr / local de toute façon?
psusi

Si je veux que tous les utilisateurs du système puissent utiliser l'application, je devrais créer un lien symbolique vers / usr / bin au lieu de / usr / local / bin?
Jiew Meng

4
@jiewmeng Si vous regardez, man hiervous verrez tout ce qui y est expliqué. Y compris la différence entre / usr / bin et / usr / local / bin. En bref: ne créez aucun lien symbolique vers / usr / bin /. @psusi La raison est de garder votre système de fichiers propre. si jamais vous réinstallez votre ordinateur (ou passez à une autre machine / disque dur), les seuls répertoires que vous devez consulter doivent être / home, / etc et / opt. Et permettez-moi de répéter encore une fois: Habituellement, vous ne voulez rien faire en dehors de votre $ HOME, sauf peut-être pour éditer des fichiers de configuration dans / etc.
mniess

7

/ usr est lisible par tout le monde, donc non, il n'y aura pas de problème avec d'autres utilisateurs pouvant exécuter le programme. / usr / local est l'endroit où vont les applications que vous compilez vous-même à partir du code source. Les programmes installés via le gestionnaire de paquets vont ailleurs. Je n'ai jamais vu d'utilité pour / opt, et je pense que c'est juste un report des anciens jours AT&T Sys V dans les années 80.


quelle est la différence entre / usr / local / bin et / usr / bin? Si je veux que tous les utilisateurs puissent accéder à l'application, dois-je la mettre dans / usr / bin?
Jiew Meng

@jiewmeng, encore une fois, la version locale est destinée aux programmes que vous compilez vous-même à partir des sources, au lieu de les installer via le gestionnaire de paquets. Cela n'a rien à voir avec les utilisateurs et l'accès.
psusi

0

Selon la saveur linux, l'endroit préféré pour installer quelque chose à la main peut varier. Si vous le faites à la main, faites ce que le README suggère.

Si vous créez un nouvel utilisateur et que vos anciens utilisateurs n'ont rien fait pour accéder au nouveau programme, les nouveaux utilisateurs ne le feront pas non plus.

Cependant, vous êtes libre de créer / opt / bin et de l'inclure dans le chemin d'accès , mais pourquoi devriez-vous? Ou même / flip / flop / funky / bin . Ou un lien de quelque part vers un répertoire, qui est déjà inclus dans le PATH .

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.