En général, les programmes sont installés dans plusieurs répertoires sous un seul sommet répertoire, appelé préfixe . Le choix du répertoire principal à utiliser dépend de la personne qui procède à l'installation, de l'objectif poursuivi et de la personne qui gérera le logiciel.
Le préfixe /usr
est un logiciel utilisé et emballé par votre distribution. Vous devez no installer d'autres logiciels, car il volonté confondre la distribution lors de l'installation et de la mise à jour des logiciels emballés par la distribution.
Pour les logiciels commerciaux, le préfixe /opt
est utilisé. Il leur est réservé d'interférer le moins possible avec les distributions et l'administrateur du système local.
Pour les logiciels que l'administrateur système installe pour tous les utilisateurs, le préfixe /usr/local
est utilisé.
Si vous êtes un utilisateur ordinaire qui installe un logiciel pour lui-même, vous pouvez utiliser votre répertoire personnel comme préfixe, en utilisant l'option --prefix
à l'option configure
avec comme préfixe le répertoire " ~/
" ou $HOME/
. Je l'ai beaucoup utilisé lorsque j'étais étudiant :-)
En général, les logiciels font ce qu'il faut lorsque vous exécutez une commande. configure
avec l'option --prefix
avec la bonne valeur et ensuite make; make install
.
Sous l'un ou l'autre de ces préfixes, vous trouverez généralement ces répertoires dans une installation standard.
-
bin
- les programmes exécutables, les binaires.
-
sbin
- les binaires du système, qui ne doivent généralement pas être exécutés par des utilisateurs ordinaires.
-
man
- des pages de manuel pour les programmes, les bibliothèques, les fichiers de configuration, etc.
-
etc
- des fichiers de configuration avec des valeurs par défaut pour le logiciel.
-
lib
- les bibliothèques de programmes et les fichiers de données qui dépendent de l'architecture (comme le CPU) de votre ordinateur.
-
share
- des fichiers de données qui ne diffèrent pas d'une architecture à l'autre et qui peuvent être partagés entre différents ordinateurs.
-
var
- les répertoires contenant des données qui changent au cours de l'exécution du programme, comme les fichiers journaux, etc.
La plupart de ces répertoires peuvent être utilisés avec des systèmes de fichiers protégés en écriture pour accroître la sécurité. Le seul répertoire sur lequel les utilisateurs doivent pouvoir écrire est le répertoire var/
répertoire.
Lorsque le logiciel est mis à jour, ces répertoires doivent avoir des privilèges d'écriture. En général, il n'est pas nécessaire de faire quoi que ce soit, mais si nécessaire, cela peut être fait avec un remontage avec des privilèges d'écriture pendant l'installation, puis un remontage avec des privilèges de lecture seulement après l'installation. Mais ceci est avancé, et je ne le donne qu'à titre d'exemple de gestion avancée des paquets.
Il existe également des répertoires situés directement sous /
(le répertoire racine) qui n'existe sous aucun autre préfixe, comme /dev
, /tmp
, /proc
y /srv
(pour les répertoires de données du serveur, mais ils se trouvent généralement sous la rubrique /var/lib
o /var/www
et des répertoires de ce type, vous devez donc modifier la configuration pour utiliser ce répertoire. Je vous recommande de le faire lorsque vous faites tourner un serveur. N'utilisez que /var/
pour tester une installation standard).
Les méthodes d'installation varient d'un programme à l'autre. --prefix
est utile pour les programmes utilisant configure
. La meilleure façon de le savoir est probablement de lire le README.txt
ou quelque chose comme ça, qui est probablement fourni avec l'archive tar.
L'archive tar peut être extraite à n'importe quel endroit, comme votre répertoire personnel. Une fois les étapes d'installation terminées, vous pouvez supprimer l'archive tar extraite si vous manquez d'espace de stockage. Mais il est préférable de conserver le répertoire car vous pourrez souvent l'utiliser pour la désinstallation.
Programmes installés avec apt-get
o aptitude
sont toujours installés à l'endroit approprié pour la distribution. Vous ne pouvez pas changer cet endroit.