250 votes

Lors de l'installation des applications utilisateur, où les "meilleures pratiques" suggèrent-elles de les placer ?

Il m'arrive parfois d'installer des applications manuellement, plutôt que d'utiliser le programme apt ou un autre gestionnaire de paquets.

Quel emplacement ( /usr/ , /usr/local/ , /opt/ , /home/ etc.) est suggéré par les "meilleures pratiques" pour l'installation des applications utilisateur ?

219voto

Ben Mills Points 5424

Ça dépend, vraiment. Si l'application a un makefile, ou par exemple pour les applications Python, si l'application utilise distutils (par exemple, a un fichier setup.py ), ou un système de construction/installation similaire, vous devez l'installer dans le fichier /usr/local/ . C'est souvent le comportement par défaut.

D'après ce que j'ai compris, /usr/local/ a une hiérarchie qui est similaire à /usr/ . Cependant, les répertoires comme /usr/bin/ y /usr/lib/ sont généralement réservés aux paquets installés via apt . Donc un programme qui s'attend à être "installé" dans /usr/ devrait fonctionner correctement dans /usr/local/ .

Si vous avez juste besoin d'extraire une archive et de l'exécuter directement (par exemple Firefox), mettez-la dans le dossier /opt/ . Un programme qui n'a besoin que d'un seul répertoire et qui obtiendra tous les fichiers/bibliothèques relatifs à ce répertoire peut obtenir un répertoire pour lui-même dans /opt/ .

137voto

John Hunter Points 2204

Il est bon de se rappeler que /usr n'est pas synonyme de utilisateur mais plutôt ressources du système unix .

En tant que tel, j'ai tendance à penser que n'importe quelle distribution a le droit de piétiner tout le contenu de /usr, et que mes ajouts spécifiques au système aillent dans /usr/local que je préserve avant de faire une mise à jour.

Pendant ce temps, les applications et autres choses vont dans /opt .

Certaines personnes se sentent à l'aise pour mettre des choses dans /home bien que je suive rarement cette convention.

Tout ceci étant dit, je laisse le gestionnaire de paquets de la distribution faire les choses à sa manière d'abord, puis je fais ce qui précède lorsque je roule manuellement les choses.

40voto

NickNameNick Points 91

Installer des programmes instables comme firefox devel dans /home/user/opt/ rend la suppression beaucoup plus facile, et aucune confusion pour les autres utilisateurs quant à la version qu'ils doivent utiliser... Donc si ce n'est pas un programme à usage global, installez-le dans un sous-dossier de votre répertoire personnel.

N'installez jamais de programmes dans /usr/, cela risque de provoquer le chaos, les choses installées dans /usr/ sont destinées à être des paquets de distribution uniquement. /usr/local/ est destiné aux paquets compilés localement. Et la structure fonctionne exactement de la même manière ! Les fichiers dans /usr/local/ seront prioritaires par rapport aux fichiers dans /usr/.

/opt/ doit être utilisé pour l'installation de paquets (binaires) précompilés (Thunderbird, Eclipse, Netbeans, IBM NetSphere, etc) et autres. Mais s'ils ne sont destinés qu'à un seul utilisateur, ils devraient être placés dans votre répertoire personnel.

Si vous voulez être en mesure d'exécuter un programme installé dans un endroit "bizarre" (comme /home/user/opt/firefox/) sans avoir à taper le chemin complet, vous devez l'ajouter à votre variable $PATH, vous pouvez le faire en ajoutant une ligne comme celle-ci dans votre /home/user/.profile

export PATH=/home/user/opt/firefox:$PATH

Le nom du dossier doit être celui où se trouve le fichier exécutable que vous devez exécuter.

29voto

rossp Points 900

Le standard de la hiérarchie des systèmes de fichiers de Linux indique /usr/local .

Desde http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html :

L'idée originale derrière '/usr/local' était d'avoir un répertoire séparé ('local'). séparé ('local') '/usr' sur chaque machine en plus de '/usr', qui pourrait être juste monté en lecture seule depuis un autre endroit. Il copie la structure de /usr'. De nos jours, '/usr/local' est largement considéré comme un bon endroit bon endroit pour conserver des programmes auto-compilés ou tiers. La hiérarchie /usr/local est utilisée par l'administrateur système pour l'installation locale de logiciels. logiciels en local. Elle doit être protégée contre l'écrasement lors de la mise à jour du logiciel système. logiciel du système est mis à jour. Elle peut être utilisée pour les programmes et les données qui qui peuvent être partagés par un groupe d'hôtes, mais qui ne se trouvent pas dans /usr. Les logiciels installés localement installés localement doivent être placés dans /usr/local plutôt que dans /usr à moins qu'il ne soit installé pour remplacer ou mettre à jour un logiciel dans /usr.

8voto

jhornnes Points 1211

J'ai généralement un dossier nommé "Programmes" dans ma maison où j'installe ces programmes. Assez étrangement (ou pas), ce sont tous des programmes Java en ce moment.

Cela présente un grand avantage pour moi : lorsque je réinstalle ou change d'ordinateur, ils sont déplacés avec le reste de ma maison. Il a un inconvénient évident, ces applications ne sont disponibles que pour mon utilisateur.

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