100 votes

Dois-je installer les applications Linux dans /var ou /opt ?

J'utilise beaucoup d'applications open source, notamment Java et Tomcat. Il semble que dans la plupart des instructions, mes applications sont exécutées à partir de l'application /var répertoire. Mais de temps en temps, je vois aussi l'icône /opt répertoire. Pendant que j'y suis, je vois aussi /usr/local/ et même /etc également.

Quand dois-je installer les applications dans un dossier ou dans l'autre ? Y a-t-il des avantages et des inconvénients pour chacun d'eux ? Cela a-t-il à voir avec l'historique des saveurs (Solaris vs Linux ou Red Hat vs Ubuntu) ?

157voto

raphink Points 10967

La norme pour ces questions est le Standard de la hiérarchie des systèmes de fichiers . C'est un document assez volumineux. En gros (et très approximativement), les chemins standards sous Linux sont :

  • /bin & /sbin sont pour les programmes vitaux pour le système d'exploitation, sbin étant pour les administrateurs seulement ;
  • /usr/bin & /usr/sbin sont pour les programmes non vitaux, sbin étant pour les administrateurs seulement ;
  • /var est destiné aux données vivantes pour les programmes. Il peut s'agir de données de cache, de données de spool, de données temporaires (à moins qu'il ne s'agisse de données de /tmp qui est effacé à chaque redémarrage), etc ;
  • /usr/local est pour les programmes installés localement. En général, il héberge des programmes qui respectent les normes mais qui n'ont pas été intégrés au système d'exploitation, mais qui ont été installés manuellement par l'administrateur (en utilisant par exemple ./configure && make && make install ) ainsi que les scripts de l'administrateur ;
  • /opt est pour les programmes qui ne sont pas emballés et ne suivent pas les normes. Il suffit d'y placer toutes les bibliothèques avec le programme. C'est souvent une solution rapide et sale, mais elle peut également être utilisée pour les programmes que vous avez créés vous-même et pour lesquels vous souhaitez avoir un chemin spécifique. Vous pouvez créer votre propre chemin (par ex. /opt/yourcompany ) en son sein, et dans ce cas, vous êtes encouragé à l'enregistrer comme faisant partie des chemins standard ;
  • /etc ne doit pas contenir de programmes, mais plutôt des configurations.

Si vos programmes sont spécifiques aux services fournis par le service, /srv peut aussi être un bon endroit pour eux. Par exemple, je préfère utiliser /srv/www pour les sites web plutôt que /var/www pour s'assurer que le répertoire ne contiendra que des données que j'ai ajoutées moi-même, et rien qui ne provienne de progiciels.

Il existe quelques différences entre les distributions. Par exemple, les systèmes RedHat utilisent libexec alors que les systèmes Debian/Ubuntu ne le font pas.

Le FHS est principalement utilisé par les distributions Linux (en fait, je ne connais aucun autre système d'exploitation qui s'y conforme vraiment). Les autres systèmes Unix ne le suivent pas. Par exemple, les systèmes BSD ont tendance à utiliser /usr/local pour les programmes packagés, ce qui n'est pas le cas pour Linux. Solaris a des chemins standards très différents.

Je vous encourage vivement à lire le document FHS dont j'ai donné le lien ci-dessus si vous souhaitez en savoir plus à ce sujet.

10voto

eon Points 364

opt désigne un logiciel en option. var représente les fichiers système variables. Par conséquent, vos applications doivent aller à /opt .

3voto

David Mackintosh Points 14093

Cela dépend de la norme locale.

Personnellement, je n'installe rien dans /var sans une bonne raison. Mon /usr/local est presque toujours un montage nfs hors réseau, donc tout ce qui n'est pas packagé est installé dans /opt.

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