78 votes

Quel est l'emplacement conventionnel d'installation des applications sous Linux ?

Je suis en train d'installer NetBeans, et le répertoire d'installation par défaut est /home/thomasowens/netbeans-6.8 . Je ne suis pas un fan de cet endroit, donc je cherche à /etc , /bin , /usr/bin y /sbin . Est-ce que Linux a une place qui, par convention, est la même que celle de Windows ? C:\Program Files répertoire ?

105voto

halr9000 Points 255

Selon le Standard de la hiérarchie des systèmes de fichiers il y a plusieurs endroits qui sont acceptables, selon l'application. Je le cite abondamment ici.

  • bin est l'abréviation de "binaire", bien sûr

  • sbin est l'abréviation de "server binary", autrement défini comme :

    Utilitaires utilisés pour le système l'administration du système (et d'autres seulement)

  • /usr est destiné aux données partageables, en lecture seule, et doit pouvoir être partagé entre différents hôtes conformes au FHS (si vous avez beaucoup de machines sur votre réseau, et qu'elles ont toutes la même architecture, vous devriez pouvoir partager un seul dossier /usr avec chaque machine du réseau).

  • /usr/local est utilisé par l'administrateur système pour l'installation locale de logiciels (c'est-à-dire pour les applications installées uniquement sur cette machine, et non sur toutes les machines du réseau).


Je les prends ensemble :

  • /usr/bin est le répertoire principal des commandes exécutables sur le système.
  • /usr/sbin est destiné à tout binaire non essentiel utilisé exclusivement par l'administrateur système.
  • Les programmes d'administration du système qui sont nécessaires pour la réparation du système, la récupération du système, le montage de /usr, ou d'autres fonctions essentielles doivent être placés en /sbin à la place (c'est-à-dire les choses auxquelles vous devez accéder afin de monter /usr/sbin entrer /sbin )
  • De même, les commandes essentielles de l'utilisateur qui peuvent être nécessaires avant de /usr est monté aller dans /bin
  • Tout ce qui est installé uniquement sur la machine locale doit aller dans /usr/local/bin o /usr/local/sbin

Il y a cependant une autre utilisation de /usr/local. La plupart des choses que vous installez via le gestionnaire de paquets de votre distribution seront placées sous /usr ; beaucoup de gens placent les choses qu'ils ont compilées à la main sous /usr/local à la place. Cela les maintient à l'écart du système de gestion des paquets et vous permet de distinguer ce que vous avez installé à partir de la distribution (et que vous n'avez pas besoin de sauvegarder car vous pouvez le récupérer à nouveau) de ce que vous avez compilé à la main ; cela vous permet également de faire tourner différentes versions en même temps (par exemple, /usr/bin/firefox contre /usr/local/bin/firefox).


Juste quand vous pensiez que les choses étaient réglées, il y a un autre endroit, qui est probablement l'équivalent le plus proche de c:\Program Files - /opt :

/opt est réservé à l'installation de paquets de logiciels d'application complémentaires.`

/opt est probablement l'équivalent le plus proche de c:\program files En effet, c'est le seul endroit où l'on s'attend à trouver une application dont tous les fichiers sont regroupés dans un seul dossier, plutôt qu'éparpillés dans plusieurs dossiers. /usr/bin , /var y /etc . Il n'est généralement utilisé que par de très gros paquets, mais dans ce cas, étant donné que Netbeans veut avoir son propre dossier, il est probablement plus logique de le placer sous /opt/netbeans.

6voto

DaveParillo Points 14135

C'est une question de préférence personnelle. Je vais vous expliquer la mienne pour ce qu'elle vaut.

/usr, /usr/bin sont généralement des endroits où l'on peut installer les logiciels installés par le système. Lorsque j'installe des choses moi-même, je les installe à l'un de ces endroits :

  1. S'il s'agit d'un script ou d'un petit programme que je n'utiliserai que, je l'installe dans ~/bin - c'est là que la plupart de mes affaires se retrouvent.
  2. Si c'est quelque chose comme ce que vous avez décrit (NetBeans) avec une arborescence de fichiers complète, je l'installe dans /opt.
  3. Si c'est un seul exécutable, je l'installe dans /usr/local/bin.

Pourquoi est-ce que je fais une distinction entre le n° 2 et le n° 3 ? Aucune idée, c'est juste une habitude que j'ai développée avec le temps. Il s'avère que /opt finit généralement par devenir un arbre profond de fichiers, mais ne contient que 2 ou 3 "choses" réellement installées. En ce moment, j'ai installé lampp et lotus notes dans opt, deux répertoires qui ont chacun une assez grande arborescence en dessous d'eux. Dans /usr/local/bin, j'ai 20 ou 30 entrées, mais pas de sous-répertoire.

Je n'installe pas les choses dans /usr/bin ou /usr/sbin parce que j'aime garder à part les choses que j'ajoute manuellement (qui ne font pas partie d'une simple installation à partir du référentiel standard).

2voto

Alors que le Standard de la hiérarchie des systèmes de fichiers fournit quelques conseils. J'ai constaté que la plupart des distributions aiment installer les paquets dans le répertoire /usr/share .

Pour cette raison, j'ai adopté la pratique d'installer toute application qui n'est pas installée via le gestionnaire de paquets (rpm / apt-get / emerge) en /usr/local . Cela me permet de séparer les applications et les bibliothèques qui ne sont pas gérées par la gestion des paquets de celles qui le sont.

C'est une technique qui m'a aidé à gérer mon système à la fois sous Fedora Core et Gentoo.

0voto

Matías Points 3008

J'aurais pensé que l'emplacement par défaut est /bin c'est l'endroit où presque tout est installé par défaut si vous utilisez apt-get ou similaire...

... Cependant, lorsqu'il s'agit de programmes plus modernes (ou ceux qui n'ont pas d'installateur) qui ont beaucoup de fichiers supplémentaires, j'aime les placer dans leur propre répertoire à l'intérieur de l'arborescence des programmes. /bin .

0voto

n-alexander Points 2685

En général, ils s'installent dans plusieurs dossiers, principalement /usr, /local, /bin, etc. Vous pouvez trouver où le programme s'installe dans l'installateur GDebi (sous l'onglet fichiers). Si vous voulez déplacer Netbeans, je vous suggère de le déplacer dans /opt, car c'est là que Google semble installer ses programmes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X