Lors de l'installation d'applications utilisateur, où les "meilleures pratiques" suggèrent-elles qu'elles soient localisées?

178

Parfois, j'installe des applications manuellement, plutôt que d'utiliser apt ou un autre gestionnaire de paquets.

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

    
posée citadelgrad 05.08.2010 - 16:42
la source

6 réponses

160

Cela dépend vraiment. Si l'application dispose d'un fichier makefile, (pour les applications python) utilise distutils (possède un fichier setup.py ) ou un système de construction / installation similaire, placez-le dans /usr/local/ (comportement par défaut).

Si vous avez juste besoin d'extraire une archive et de l'exécuter directement (par exemple Thunderbird, Firefox), mettez-la dans /opt/ .

Pourquoi? D'après ce que j'ai compris, /usr/local/ a une hiérarchie similaire à /usr/ . Donc, un programme qui s'attend à être "installé" dans /usr/ devrait fonctionner correctement dans /usr/local/ . Un programme qui n'a besoin que d'un seul répertoire et qui aura tous les fichiers / bibliothèques relatifs à ce répertoire peut obtenir un répertoire pour lui-même dans /opt/ .

    
réponse donnée Umang 05.08.2010 - 16:53
la source
94

Il est bon de se rappeler que /usr ne représente pas user mais plutôt des ressources système unix .

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

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

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

Cela dit, je laisse d'abord le gestionnaire de paquets de distribution faire les choses à sa guise, puis je fais ce qui précède lorsque je fais rouler des choses.

    
réponse donnée Walt Stoneburner 17.09.2010 - 19:39
la source
30

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 à utiliser ... Donc si ce n'est pas un programme global utilisez, installez-le dans un sous-dossier de votre répertoire personnel.

N'installez jamais de programmes dans / usr /, cela risque de causer du chaos, les choses installées dans / usr / sont destinées uniquement aux paquets de distribution. / usr / local / est pour les paquets compilés localement. Et la structure fonctionne exactement de la même manière! les fichiers de / usr / local / seront prioritaires sur les fichiers de / usr /

/ opt / devrait ê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 doivent être placés dans votre répertoire personnel.

Si vous voulez pouvoir exécuter un programme installé dans un endroit "bizarre" (comme / home / user / opt / firefox /) sans saisir le chemin complet, vous devez l'ajouter à votre variable $ PATH, vous pouvez Cela ajoute-t-il 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 à exécuter.

    
réponse donnée LassePoulsen 07.08.2010 - 10:40
la source
24

La norme de hiérarchie du système de fichiers Linux indique /usr/local .

De lien :

  

L’idée de départ de «/ usr / local» était d’avoir une   '/ usr' répertoire sur chaque machine à côté de '/ usr', qui pourrait être juste   monté en lecture seule à partir de quelque part. Il copie la structure de   '/ usr'. Ces jours-ci, «/ usr / local» est largement considéré comme un bon endroit dans   pour garder des programmes auto-compilés ou tiers. Le / usr / local   la hiérarchie est à utiliser par l'administrateur système lors de l'installation   logiciel localement. Il ne doit pas être écrasé lorsque le   le logiciel système est mis à jour. Il peut être utilisé pour des programmes et des données   sont partageables entre un groupe d'hôtes, mais pas dans / usr. Localement   les logiciels installés doivent être placés dans / usr / local plutôt que / usr   à moins qu'il ne soit installé pour remplacer ou mettre à niveau le logiciel dans / usr.

    
réponse donnée popey 05.08.2010 - 16:45
la source
5

J'ai généralement un dossier nommé "Programmes" dans ma maison où j'installe ces programmes, assez étrange (ou pas).

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

    
réponse donnée Javier Rivera 05.08.2010 - 16:57
la source
1

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

Notez que les fichiers de configuration ne seront souvent pas traités comme des fichiers de configuration (peut-être ignorés ou peut-être traités comme partie intégrante de l'application) et que les scripts avant et après l'installation sont parfois masqués. il pense que le deb aura un mauvais script de pré-installation ou de post-installation.

    
réponse donnée A Student at a University 16.08.2010 - 03:41
la source

Lire d'autres questions sur les étiquettes