Le système d'exploitation GNU-Linux/Les répertoires importants
Une des premières difficultés pour les débutants Unix est de se repérer dans l'arborescence. Contrairement à un environnement Windows qui regroupe toutes les ressources nécessaires à un programme dans un même répertoire, les ressources dans un système unix (et dans une moindre mesure MacOS) sont réparties dans une hiérarchie générale. Ainsi si le code exécutable d'un programme se trouve dans le répertoire /bin
, ses libraries se trouveront dans le répertoire /lib
et ses fichiers de configuration dans le répertoire /etc
.
La hiérarchie des systèmes unix est normalisée, la spécification étant accessible sur http://www.pathname.com/fhs/
Voici une liste des répertoires à connaître.
Les programmes exécutables
modifier- /bin : les commandes indispensables
- /usr/bin : les autres commandes
- /usr/local/bin : les commandes installées à la main
Les programmes exécutables du super-utilisateur root
modifier- /sbin : les programmes indispensables d'administration
- /usr/sbin : les autres programmes d'administration
- /usr/local/sbin : les programmes d'administration installées à la main
Les fichiers de configuration
modifier- /etc
En particulier, /etc contient les fichiers:
/etc/passwd liste des comptes utilisateurs et leurs répertoires associés. /etc/shadow liste des comptes utilisateurs et leurs mots de passe chiffrés. /etc/X11/xorg.conf fichier de configuration du serveur graphique.
Le(s) noyau(x) Linux
modifier- /boot
Les répertoires de travail des utilisateurs
modifier- /home
Chaque utilisateur du système aura un répertoire dans /home portant son nom.
Par exemple le bureau de l'utilisateur "wiki" se trouve dans :
/home/wiki/Bureau
NB : si le bureau montre des icônes qui ne figure pas dans "/home/wiki/Bureau", on peut les retirer par exemple sur Gnome avec :
gsettings set org.gnome.shell.extensions.ding show-home false gsettings set org.gnome.shell.extensions.ding show-trash false
Le répertoire de travail du super-utilisateur root
modifier- /root
Les librairies partagées
modifier- /lib : les librairies indispensables
- /usr/lib : les autres librairies
- /usr/local/lib : les librairies des programmes installés à la main
Les points de montage
modifier- /mnt : Répertoire dans lequel on pourra créer des points de montage pour des systèmes de fichiers temporaires, destiné à un usage d'appoint. Les composants vitaux du système ne doivent pas dépendre de ce répertoire.
- /media : Répertoire dans lequel des points de montage seront créés automatiquement pour accéder aux supports de stockage amovibles (cdrom, clé usb...)
Les périphériques
modifier- /dev
En particulier, on trouve les fichiers :
/dev/hda ou hdb ou sda etc. qui correspondent aux disques dur. Les disques durs IDE sont notés hd et les SATA ou SCSI sont notés sd /dev/hda1 ou hda2 etc. qui correspondent aux partitions des disques. hda1 est la 1ere partition du premier disque IDE (hda).
/dev/eth0 qui correspond à la première carte réseau. Pour plus d'une carte réseau, on verra apparaître d'autres fichiers /dev/eth.
/dev/audio qui correspond au périphérique son.
Les autres programmes et leurs fichiers annexes
modifier- /usr
Ce répertoire est en lecture-seule et est destiné à être partagé. Les programmes installés par le système d'exploitation se trouvent dans /usr/bin. Les programmes installés manuellement par les utilisateurs se trouvent dans /usr/local.
« usr » veut dire Unix System Ressources et non pas user. Les fichiers relatifs aux utilisateurs du système se trouvent dans le répertoire « /home ».
Le système de fichier virtuel
modifierDonne les infos de la machine
- /proc
sur le processeur
modifierEx:/proc/cpuinfo
sur la mémoire
modifierEx:/proc/meminfo
sur les modules
modifierEx:/proc/modules
sur les montages du systeme
modifierEx:/proc/mount
sur la swaps
modifierEx:/proc/swaps
Les fichiers temporaires
modifier- /tmp
- /var/tmp
Les données variables
modifier- /var
Ce répertoire contient les données variables. En particulier:
les logs sont stockés dans /var/log les mails en attente de livraison sont stockées dans /var/mail les travaux d'impression seront dans /var/spool ou /var/mail selon le serveur d'impression utilisé.
- /var/log, ce répertoire contient les journaux (fichiers détaillant les historiques de programmes).
- /var/mail, ce répertoire contient les emails des utilisateurs du système. Un utilisateur du système peut voir ses emails via la commande « mail ».
- /var/spool, ce répertoire contient les données en attente de traitement (par un programme), et sont en générale supprimé après avoir été traité.
- /var/lib, ce répertoire contient les données des bases de données (Mysql, Postgresql) et les bases de données dpkg (rpm sur RedHat)
- /var/www : les sites Web
Les programmes et ressources installés à la main
modifier- /usr/local
Ce répertoire contient des données mis en place par l'administrateur du système, comme « /usr » mais dans un contexte plus « isolé » car ces ressources sont géré par ce même administrateur système, et contient des sous-répertoire tel que:
/usr/local ├── bin/ : où se trouvent les programmes. │ ├── monprogramme : exemple de programme nommé « monprogramme ». ├── etc/ : où se trouvent les fichiers de configurations des programmes, comme « /etc ». │ ├── monprogramme.conf : exemple de configuration de « monprogramme ». ├── lib/ : où se trouvent les bibliothèques logiciel. ├── lib64/ : où se trouvent les bibliothèques logiciel, compilé pour les processeurs à architecture 64 bits. ├── sbin/ : où se trouvent les programmes utilisable par "root".