web-dev-qa-db-fra.com

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

Parfois, j'installe les applications manuellement, plutôt que d'utiliser 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 d'applications utilisateur?

203
citadelgrad

Cela dépend vraiment. Si l'application contient un fichier makefile, ou par exemple pour python apps 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 /usr/local/. C'est souvent le comportement par défaut.

D'après ce que j'ai compris, /usr/local/ a une hiérarchie similaire à /usr/. Cependant, des répertoires tels que /usr/bin/ et /usr/lib/ sont généralement réservés pour les packages installés via apt. Ainsi, 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), placez-la dans /opt/. Un programme qui n'a besoin que d'un répertoire et obtiendra tous les fichiers/bibliothèques relatifs à ce répertoire peut obtenir un répertoire pour lui-même dans /opt/.

180
Umang

Il est bon de se rappeler que /usr ne signifie pas tilisateur mais plutôt ressources système unix.

En tant que tel, j'ai tendance à penser que toute distribution a le droit de piétiner le contenu de /usr, et que mes ajouts spécifiques au système vont dans /usr/local, que je conserve avant de procéder à une mise à niveau.

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

Certaines personnes se sentent à l'aise d'insérer des éléments dans /home, bien que je respecte rarement cette convention.

Cela dit, je laisse le gestionnaire de paquets de distribution faire les choses en premier, puis je fais ce qui précède lorsque je roule à la main.

113
Walt Stoneburner

Installer des programmes instables tels que firefox devel dans/home/user/opt/le rend beaucoup plus facile à supprimer et évite toute confusion pour les autres utilisateurs quant à la version à 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 risquerait de causer le chaos, les choses installées dans/usr/sont destinées uniquement aux packages de distribution./usr/local/est destiné aux paquets compilés localement. Et la structure fonctionne exactement de la même manière! les fichiers de/usr/local/seront prioritaires par rapport aux fichiers de/usr /

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

Si vous voulez pouvoir exécuter un programme installé dans un emplacement "étrange" (comme/home/utilisateur/opt/firefox /) sans taper le chemin complet, vous devez l'ajouter à votre variable $ PATH, vous pouvez le faire ajouter 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.

33
LassePoulsen

La norme de hiérarchie des systèmes de fichiers Linux indique /usr/local.

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

L'idée à l'origine de '/ usr/local' était de disposer d'un répertoire ('local') '/ usr' distinct sur chaque machine en plus de '/ usr', qui pourrait simplement être monté en lecture seule. Il copie la structure de '/ usr'. De nos jours, '/ usr/local' est largement considéré comme un bon endroit pour conserver des programmes auto-compilés ou tiers. La hiérarchie/usr/local est destinée à être utilisée par l’administrateur système lors de l’installation locale du logiciel. Il doit être sécurisé pour ne pas être écrasé lorsque le logiciel système est mis à jour. Il peut être utilisé pour des programmes et des données pouvant être partagés entre un groupe d'hôtes, mais ne se trouvant pas dans/usr. Les logiciels installés localement doivent être placés dans/usr/local plutôt que/usr, sauf s'il est en cours d'installation pour remplacer ou mettre à niveau le logiciel dans/usr.

26
popey

J'ai habituellement un dossier nommé "Programmes" dans ma maison où j'installe ces programmes, assez étrange (ou pas), ils sont tous Java maintenant.

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

5
Javier Rivera

Utilisez "checkinstall" pour convertir votre paquet alien en deb afin qu’il puisse être désinstallé à l’aide du gestionnaire de paquets.

Notez que les fichiers de configuration ne sont souvent pas traités comme des fichiers de configuration (peut-être ignorés ou traités comme faisant partie de l'application), et que les scripts de pré-installation et de post-installation sont parfois gênés, bien qu'ils vous avertissent généralement quand il pense à la deb aura un mauvais script de pré ou post-installation.