Quelle est la différence entre les répertoires /opt
et /usr/local
et quels types de programmes doivent être installés?
J'ai évoqué Hiérarchie du système de fichiers Linux mais l'explication n'est pas très claire. Selon le lien ci-dessus;
/opt
: - Ce répertoire est réservé à tous les logiciels et packages complémentaires ne faisant pas partie de l'installation par défaut.
/usr/local
: - La hiérarchie /usr/local
est destinée à être utilisée par l'administrateur système lors de l'installation de logiciels localement. Il doit être sécurisé pour ne pas être écrasé lorsque le logiciel système est mis à jour.
Dans le contexte d'un PC sans ordinateur en réseau, quel devrait être le répertoire pour installer un logiciel auquel plusieurs utilisateurs locaux auront accès? (c.-à-d. où devrais-je installer un logiciel comme netbeans)
Je vous remercie
/opt
est destiné aux applications tierces qui ne dépendent d'aucune dépendance en dehors de la portée dudit paquet. /usr/local
concerne les packages installés sur cette machine en dehors de la portée du gestionnaire de packages de distribution.
Un exemple:
Un client sip open source fourni en tant que .deb serait installé dans /usr
. Si elle était construite avec le framework Qt, apt l'utiliserait comme dépendance.
Le même client sip open source créé à partir de la source résiderait dans /usr/local
afin que apt ne le perturbe pas si vous installiez ultérieurement un paquet .deb pour la même application. Vous pouvez soit créer ses dépendances à partir des sources, soit les obtenir auprès du gestionnaire de paquets.
Une application tierce dans /opt
est censée être autonome. Par exemple, un client sip propriétaire utilisant Qt ne s'appuierait pas sur la version d'apt, mais serait lié ou statiquement lié.
Pour plus d'informations, reportez-vous à norme de hiérarchie du système de fichiers .
J'installerais des packages tiers uniquement binaires sur /opt
.
Tout ce que vous construisez vous-même à partir de la source je mettrais dans /usr/local
.
netbeans
se trouve dans le dépôt Ubuntu. Avez-vous besoin d'une version spécifique?
Tout est une question d'emballage. Si quelque chose est empaqueté de la manière LHS (placer les exécutables dans bin/libraries dans lib/etc.), il devrait aller dans/usr/local.
Si quelque chose a un répertoire de niveau supérieur et ne suit pas ce modèle, il va dans/opt. Généralement, vous devez explicitement ajouter des éléments dans/opt à votre PATH.
Voir aussi Cette question sur le superutilisateur