Quel est le meilleur pour les applications installées: / usr / bin ou le répertoire personnel de l'utilisateur?

9

Il n'est pas tout à fait clair pour moi s'il serait préférable d'installer une application GUI dans /usr/binou mon répertoire personnel. J'ai lu cet article et celui-ci , mais il ne parle pas vraiment de la philosophie d'utilisation de ces différents répertoires. Les commandes doivent-elles être traitées différemment des applications GUI?

TheAmpersand
la source

Réponses:

11

Le /usr/binest le répertoire primaire de commandes exécutables sur le système.

Le /usr/local:

  • Utilisé par l'administrateur système lors de l'installation locale du logiciel.
  • Il doit être protégé contre l’écrasement lors de la
    mise à jour du logiciel système .
  • Il peut être utilisé pour des programmes et des données qui peuvent être partagés entre un groupe d'hôtes, mais qui ne se trouvent pas dans /usr.

Le logiciel installé localement doit être placé à l'intérieur /usr/localplutôt qu'à /usrmoins qu'il ne soit installé pour remplacer ou mettre à niveau le logiciel dans / usr.

Plus ici .

dastergon
la source
7

Il n'y a aucune raison particulière de faire la différence entre les commandes GUI et CLI.

/usr/binappartient au système d'exploitation donc, même si rien ne vous empêche, en tant que root, de le faire, vous ne devez rien mettre ici. Ce répertoire est destiné aux personnes qui distribuent des logiciels intégrés au système d'exploitation et gèrent / évitent correctement les conflits de noms.

/usr/local/binest un répertoire commun pour les logiciels construits localement. Si vous pouvez écrire ici, vous pouvez simplement utiliser ce répertoire.

/opt/<name>/binest destiné aux logiciels n'appartenant pas au système d'exploitation. C'est un bon emplacement pour les logiciels partagés.

Votre répertoire personnel vous appartient, vous êtes donc libre d'y mettre tout ce que vous voulez, mais ce n'est pas le meilleur emplacement si d'autres personnes ont besoin d'exécuter votre programme.

jlliagre
la source
1
Est-ce donc la seule différence entre / usr / local / bin et / opt / foo / bin où / comment le logiciel a été installé? Donc, en règle générale, tout logiciel que j'installe manuellement doit aller dans le premier et tout ce qui est installé à partir d'un gestionnaire de packages se terminera plus tard? EDIT: Il semble que oui. lien
TheAmpersand
Oui. Notez que les logiciels créés localement peuvent également aller dans / opt / local / bin. Cela évite un problème avec / usr / local qui peut être inscriptible alors que / usr peut être monté en lecture seule.
jlliagre
3

N'installez rien manuellement dans /usr/bin. L'ensemble de /usr, ainsi que /bin, /libet /sbin, sont réservés aux logiciels fournis par votre distribution. Il existe une exception:, /usr/localqui est destinée aux programmes installés par l'administrateur système et n'est pas touchée par les gestionnaires de packages (sauf pour la création de quelques répertoires). (C'est sous Linux, d'autres variantes Unix peuvent avoir des gestionnaires de packages qui installent des logiciels sous /usr/local.)

Entre /usr/localet une place dans votre répertoire personnel, vous avez le choix. Si vous souhaitez qu'un programme soit disponible pour tous les utilisateurs, insérez-le /usr/local. Si vous souhaitez qu'il soit disponible uniquement pour vous, installez-le dans votre répertoire personnel.

Que le programme ait une interface graphique ou non n'a pas d'importance.

Gilles 'SO- arrête d'être méchant'
la source
1
/optest également parfois utilisé pour les installations locales, bien que la division entre /usr/localet /optne soit pas claire.
Faheem Mitha
2

S'il est logique (ou nécessaire) que l'utilisateur puisse remplacer les fichiers binaires de l'application, il doit être installé dans le répertoire personnel de l'utilisateur. Sinon, il peut être installé dans un répertoire public en lecture seule tel que /usr/bin.

Ignacio Vazquez-Abrams
la source
0

Pour une utilisation globale, vous pouvez l'installer dans / usr / bin mais personne ne le recommande.

Pour utiliser une application en tant qu'utilisateur spécifique (elle devrait être plus sécurisée lorsque vous l'exécutez en tant qu'utilisateur unique), installez-la dans le répertoire de base de l'utilisateur spécifique.

MIrra
la source