Linux : structure des dossiers système

Vous êtes vous déja demandé pourquoi sous Linux, les exécutables peuvent se trouver dans /bin, ou /sbin, ou /usr/bin, ou encore /usr/sbin?
Quelles sont les différences entre ces dossiers ?

Dans cette article, nous analyserons la stucture du système Linux, et apprendrons à quoi sert chaque dossier du système. Nous verrons que chaque chose a sa place, et qu’il y a une place pour chaque chose.

En bref

  • / -> dossier racine
  • /bin -> commandes exécutables utilisateur
  • /boot -> fichiers du gestionnaire de démarrage (bootloader)
  • /dev -> fichiers des périphériques
  • /etc -> fichiers de configuration du système
  • /home -> dossiers personnels des utilisateurs
  • /lib -> librairies partagées essentielles, modules du kernel
  • /media -> points de montage des périphériques amovibles
  • /mnt -> points de montage temporaires
  • /opt -> applications tierses
  • /proc -> informations sur les processus
  • /root -> dossier personnel de l’utilisateur root
  • /sbin -> executables système
  • /srv -> données des services de type serveur
  • /tmp -> fichiers temporaires
  • /usr -> utilitaires et applications (multi)utilisateur
  • /var -> fichiers variables

En détails

1. / – dossier racine
C’est la racine du système, tous les autres dossiers sont dans celui-ci.
Seul l’utilisateur root peut écrire dans ce dossier.

2. /bin – commandes exécutables utilisateur
Les commandes utilisées habituellement par les utilisateurs se trouvent dans ce dossier.
Exemples : ps, ls, ping, grep, cp…

3. /boot – fichiers du gestionnaire de démarrage (bootloader)
Contient les fichiers du gestionnaire de démarrage (bootloader)
Exemples : initrd du kernel, vmlinux, grub

4. /dev – fichiers des périphériques
Contient les fichiers des périphériques (sous Linux, tout est fichier, même les périphériques)
Exemples : /dev/tty0, /dev/usb0, /dev/i2c-1, etc…

5. /etc – fichiers de configuration du système
Contient les fichiers de configuration requis par chaque application.
Contient également les scripts de démarrage et d’extinction utilisés par les applications.
Exemples : /etc/resolv.conf, /etc/samba/smb.conf, /etc/rc.local, /etc/crontab

6. /home – dossiers personnels des utilisateurs
Contient les fichiers personnels de chaque utilisateur, dans des dossiers séparés
Exemples : /home/robert, /home/josiane

7. /lib – librairies partagées essentielles, modules du kernel
Contient les fichiers de librairies dont dépendent les exécutables présents dans /bin et /sbin.
Les noms des fichiers de librairies sont soit de la forme ld* ou de la forme lib*.so.*
Exemples : ld-2.11.1.so, libncurses.so.5.7

8. /media – points de montage des périphériques amovibles
Point de montage temporaire pour les périphériques amovibles.
Exemples : /media/cdrom, /media/floppy, /media/usb…

9. /mnt – points de montage temporaires
Dossiers de montage temporaire dans lequel l’administrateur système peut monter des systèmes de fichiers

10. /opt – applications tierses
Contient les applications fournies par les différents vendeurs.

11. /proc – informations sur les processus
Contient les informations concernant les différents processus.
Exemples :
le dossier /proc/{PID} contient les informations concernant le processus ayant ce PID
/proc/uptime contient le temps écoulé depuis le démarrage du système

12. /root – dossier personnel de l’utilisateur root
Contient les données personnelles de l’utilisateur root.

13. /sbin – executables système
Contient les exécutables du système. Ces exécutables sont généralement destinées à l’administrateur système

14. /srv – données des services de type serveur
Contient les données des services de type serveur.
Exemple : /srv/cvs

15. /tmp – fichiers temporaires
Contient les fichiers temporaires des utilisateurs et du système.
Ce dossier est purgé à chaque démarrage (et non pas à l’extinction).

16. /usr – utilitaires et applications (multi)utilisateur
Contient les exécutables, librairies, documentations et les codes-sources des applications de second niveau (non système).
– /usr/bin contient les exécutables. Si vous ne trouvez pas un fichier spécifique dans /bin, essayez dans /usr/bin. Exemples : cc, less, scp.
– /usr/sbin contient les exécutables destinés auw administrateurs système. Si vous ne trouvez pas un exécutable système spécifique dans /sbin, essayez dans /usr/sbin. Exemples : cron, sshd, useradd, userdel…
– /usr/lib contient les librairies pour /usr/bin et /usr/sbin
– /usr/local contient les applications utilisateur installées à partir des sources. Par exemple, si vous installez Apache depuis les sources, il se trouvera dans /usr/local/apache2

17. /var – fichiers variables
Les ficiers dont le contenu est susceptible de changer/grossir sont dans /var.
– /var/log contient les journaux système
– /var/lib contient les packages et les fichiers de bases de données
– /var/mail contient les emails
– /var/spool contient la file d’impression
– /var/lock contient les fichiers verrouillés
– /var/tmp contient les fichiers temporaires qui doivent persister entre les reboots.

Article adapté et traduit de thegeekstuff.com

About Captain Stouf

Spécialiste en systèmes informatiques, Développeur matériel et logiciel, Inventeur, Maker : électronique, Systems on Chip, micro-controlleurs, Internet of Things, Modélisation / Scan / Impression 3D, Imagerie...

One thought on “Linux : structure des dossiers système

Laisser un commentaire