web-dev-qa-db-fra.com

Utilisation des répertoires / opt et / usr / local dans le contexte d’un PC

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

65
Niroshan

/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 .

70
Egil

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?

11
Broam

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

8
TREE