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
Une réflexion au sujet de « Linux : structure des dossiers système »