Question Lors de l'installation des applications utilisateur, où les «meilleures pratiques» suggèrent-elles d'être localisées?


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 d'applications utilisateur?


184
2017-08-05 14:42


origine


J'aimais installer des choses de la source de temps en temps, j'ai écrit un petit outil pour le faire qui effectue les modifications de votre propre fichier de démarrage de shell (et modifie également le préfixe de votre bibliothèque, si vous le demandez, pour les programmes qui dépendent de bibliothèques partagées). Pas très riche en fonctionnalités, mais cela fonctionne 99% du temps. - new123456
Article similaire: askubuntu.com/q/138547/62483 - Lucio
Grande discussion sur la distinction entre /opt et /usr/local : unix.stackexchange.com/q/11544/11917 - blong


Réponses:


Cela dépend vraiment. Si l'application dispose d'un fichier makefile, (pour les applications python) utilise distil setup.py fichier) ou un système de construction / installation similaire, mettez-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? De ce que je comprends, /usr/local/ a une hiérarchie similaire à /usr/. Donc, un programme qui s'attend à être "installé" dans /usr/ devrait bien fonctionner dans /usr/local/. Un programme qui nécessite juste un 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/.


163
2017-08-05 14:53



Il semble que tant de gens oublient opt/ - à mon avis, tu as mis le doigt sur le but en ce qui concerne son but. - Marco Ceppi♦
J'ai téléchargé eclipse et extrait à / opt. Comment puis-je le faire fonctionner à partir du terminal comme d'autres programmes comme javac, java. Je l'ai fait avec update-alternatives comme suit, sudo update-alternatives --install "/ usr / bin / eclipse" "eclipse" "/ opt / eclipse / eclipse" 1 MAIS IL DIT UNE COMMANDE PAS TROUVÉE I TYPE sudo - Deepen
Créez un lien symbolique à partir de / usr / bin ou ajoutez-le à PATH dans ~ / .bashrc - Alex


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

En tant que tel, j'ai tendance à penser que toute distribution a le droit d’empiéter 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.

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

Certaines personnes se sentent à l'aise de mettre des choses dans /home, même si je suis rarement cette convention.

Cela dit, je laisse le gestionnaire de paquets de distribution faire les choses en premier, puis faire ce qui précède lorsqu’il fait rouler des choses.


99
2017-09-17 17:39



Il convient de rappeler que «les ressources système Unix» sont un renommage effectué APRÈS '/ home' a été ajouté. Dans les anciens, les vieux et les vieux jours (Unix Version 6 et.al.), vous verriez des répertoires comme / usr / jimmy, / usr / siobhan, / usr / ahmed, etc. car les répertoires "user" étaient stockés dans / usr. . - Mark Leighton Fisher
OK, je vais mordre: qu'est-ce que l’optique? - Seth
@Seth Je pense que c'est «facultatif» - c'était à l'origine pour les logiciels qui ne faisaient pas partie d'une installation par défaut. - Carl H
/ usr est User. C'était parce que les utilisateurs de Linux étaient des développeurs. Tout d'abord, il a commencé à se diviser en développeurs et en utilisateurs. /home dir a été introduit. Et puis quelqu'un a eu l'idée de dire que cela signifie Unix System Resources, qui n'a pas vraiment de sens, car nous avons le Unix system Resources dans /dev - Info-Screen
Correct, / usr est un backronym. Le but a changé depuis que Unix fonctionnait sur un PDP-7 en 1969. - Walt Stoneburner


Installer des programmes instables comme firefox devel dans / home / user / opt / facilite la suppression et ne crée aucune confusion pour les autres utilisateurs quant à la version à utiliser ... Donc, s'il ne s'agit pas d'un programme à usage global, installez 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 que pour 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 le faire soit 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 à exécuter.


30
2017-08-07 08:40





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

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

L’idée initiale 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 dans / usr   à moins qu'il soit installé pour remplacer ou mettre à niveau le logiciel dans / usr.


25
2017-08-05 14:45



Semble contredire ce truc / usr / local avec les informations sur la page opt: tldp.org/LDP/Linux-Filesystem-Hierarchy/html/opt.html "" Ce répertoire est réservé à tous les logiciels et packages complémentaires qui ne font pas partie de l'installation par défaut. Par exemple, les packages StarOffice, Kylix, Netscape Communicator et WordPerfect se trouvent normalement ici. Pour se conformer à la norme FSSTND, toutes les applications tierces doivent être installées dans ce répertoire. "..." (similaire à la manière dont Windows installera un nouveau logiciel dans son propre répertoire C: \ Windows \ Progam Files \ "Nom du programme) ")" - Pod


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

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. Cela présente un inconvénient évident, ces applications ne sont disponibles que pour mon utilisateur.


5
2017-08-05 14:57



Comment puis-je réinstaller Ubuntu 16.04 sans perdre de données dans le dossier d'accueil? J'ai essayé de faire par formate / répertoire seulement alors tapez le même ancien nom d'utilisateur et mot de passe, mais j'ai trouvé que Ubuntu crée un autre dossier d'accueil. - Ibrahim Disouki


Utilisez "checkinstall" pour convertir votre paquet alien en un 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 faisant partie de l'application), et que les scripts avant et après l'installation sont parfois masqués. deb aura un mauvais script de pré-installation ou de post-installation.


1
2017-08-16 01:41