Je comprends que sous Windows, ainsi que Linux et Unix, un programme | application | logiciel peut être installé dans n’importe quel répertoire. De plus, si les packages sont installés à l'aide du système de packaging de la distribution, les fichiers seront placés à l'emplacement correct.
Mais parfois, une installation logicielle vous demande un chemin pour placer des fichiers. Dans le cas d’une distribution Linux, où se trouve cet endroit par défaut ( C:\Program Files
ou l’ C:\progra~1
équivalent)? Est-ce différent pour différentes distributions? Si oui, où serait - ce pour RHEL
, Suse
et Ubuntu
?
Il n'y a pas d'équivalent direct. La structure du répertoire est très différente. Sous Windows, vous avez un seul répertoire pour chaque package / logiciel installé qui contient tous les fichiers liés à (par exemple
C:\Program Files\MyProgram
). Sous Linux, chaque logiciel est "dispersé" dans de nombreux répertoires en fonction du type de fichier et d'une autre règle.A titre d'exemple, nous pouvons examiner où différents fichiers liés au
xscreensaver
programme sont installés:Ne vous inquiétez pas, généralement quand un installateur demande où installer à, la bonne réponse est l' un des éléments suivants:
/
,/opt
,/usr
,/usr/local
Comme vous pouvez le constater, presque tous les fichiers (1)
xscreensaver
sont installés sous/usr
selon une règle simple: exécutables/usr/bin
, pages de manuel/usr/share/man
, documentation/usr/share/doc/packages/PROGRAMNAME
, etc.Lorsqu'un installateur demande une installation
prefix
, il souhaite généralement maintenant le chemin de base sous lequel installer le programme. Dans monxscreensaver
exemple, c'est/usr
.En règle simple:
/
ne doit contenir que les programmes nécessaires au démarrage du système (en tant queC:\windows\system32
),/usr/local
doit contenir les programmes nécessaires uniquement sur cet ordinateur unique,/opt
(2) tous les programmes facultatifs ayant une structure de répertoire non standard et/usr
tous les logiciels standard .Dans tous les cas, il existe une norme qui définit toutes ces règles en détail: Norme de hiérarchie de système de fichiers
(1) Les fichiers de configuration du système doivent résider dans
/etc
(2) assez obsolète sous Linux
la source
/opt
est préférable pour les logiciels tiers/usr/local
pendant un certain temps./usr/share
est appelée "partage" car elle est partagée entre différentes architectures (documentation, scripts, images), alors qu’elle/usr/lib*
s’applique aux fichiers dépendants de l’architecture (et non aux exécutables, lesquels/usr/bin
).Ususually,
/bin
,/usr/bin
,/usr/local/bin
ou/opt/bin
. Je pense/usr/bin
et suis/opt/bin
le plus proche de Program Files, car ils sont généralement destinés à des binaires non critiques installés par l'administrateur système, bien que, contrairement à Windows, ils contiennent tous deux des programmes installés avec un gestionnaire de packages. Où/usr/local/bin
est pour le logiciel non distribué distro./bin
est pour les binaires critiques du système comme/bin/sh
.la source
/bin
,/usr/bin
,/usr/local/bin
Ou/opt/bin
. N'y a-t-il pas un emplacement standard? La raison pour laquelle je pose cette question est que j'installe des logiciels sur quelques ordinateurs virtuels et que l'emplacement par défaut correspond à la partition qui dispose du plus grand espace. Je veux changer l'espace de partition dans le répertoire où le logiciel va habituellement et ne pas placer le logiciel différemment dans toutes les VM./opt
par exemple, est généralement utilisé pour les logiciels propriétaires./usr/
une partition séparée./bin
et la/usr/bin
discrimination est maintenant obsolète; historiquement, le système critique des choses serait/bin
,/lib
... (directement à la racine), tandis que/usr
(avec/usr/bin
,/usr/lib
...) serait monté plus tard (peut - être sur le réseau), ne pas être nécessaire pour la fonctionnalité du système de base./opt
ne devrait pas sortir. Certaines personnes pensaient autrefois que c'était une bonne idée d'installer certaines applications à un emplacement différent de celui de toutes les autres applications./bin
est sur la partition racine. Étant donné que sur certains systèmes, l'espace sur la partition racine est limité, les fichiers binaires non essentiels (c'est-à-dire toutes les applications utilisateur) ont été déplacés/usr/bin
.Jetez un coup d'œil à
man hier
la "Description de la hiérarchie du système de fichiers".la source
Comme d'autres l'ont souligné, les programmes installés via le gestionnaire de paquets sont répartis sur plusieurs répertoires. Bien que le fichier binaire soit généralement trouvé
/usr/bin
, les fichiers de configuration du système sont présents/etc
, etc.Si une application n'est pas installée via le gestionnaire de packages, les fichiers doivent être installés à un endroit où ils n'interféreront pas avec le gestionnaire de packages. Cet endroit est
/usr/local
.Si on vous demande un chemin d’installation, le choix le plus courant serait:
/usr/local/appname
la source
Tapez
echo $PATH
votre terminal pour voir le (s) chemin (s) dans lequel le shell va chercher une commande. Il vérifie la présence d’un fichier dans l’ordre dans lequel il est imprimé.la source
Eh bien, vous ne trouverez pas toutes vos solutions
/bin
etsbin
parce qu'elles contiennent principalement des commandes système (c'est-à-dire les commandes utilisées par le système)./usr/bin
peut être appelé idéalement le"Program Files"
monde Unix. En ce qui concerne/opt
très peu de paquets qui choisissent d’utiliser cet emplacement pour l’installation, il en va de même pour les paquets utilisant/etc/
ou en/var
tant qu’emplacement.la source