Le système d'exploitation GNU-Linux/Les répertoires importants

Un livre de Wikilivres.



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 | modifier le wikicode]

  • /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 | modifier le wikicode]

  • /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 | modifier le wikicode]

  • /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 | modifier le wikicode]

  • /boot

Les répertoires de travail des utilisateurs[modifier | modifier le wikicode]

  • /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 | modifier le wikicode]

  • /root

Les librairies partagées[modifier | modifier le wikicode]

  • /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 | modifier le wikicode]

  • /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 | modifier le wikicode]

  • /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 | modifier le wikicode]

  • /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[modifier | modifier le wikicode]

Donne les infos de la machine

  • /proc
sur le processeur[modifier | modifier le wikicode]

Ex:/proc/cpuinfo

sur la mémoire[modifier | modifier le wikicode]

Ex:/proc/meminfo

sur les modules[modifier | modifier le wikicode]

Ex:/proc/modules

sur les montages du systeme[modifier | modifier le wikicode]

Ex:/proc/mount

sur la swaps[modifier | modifier le wikicode]

Ex:/proc/swaps

Les fichiers temporaires[modifier | modifier le wikicode]

  • /tmp
  • /var/tmp

Les données variables[modifier | modifier le wikicode]

  • /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 | modifier le wikicode]

  • /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".