Docudjeex
Linux pour les nuls

Dossiers et partitions

Comment le système de fichiers de Debian est organisé, ce que contient chaque dossier racine, la différence entre partitions et dossiers, et les habitudes qui gardent un serveur propre.

Windows donne à chaque disque sa propre lettre. Linux non : il y a un arbre, il commence à /, la racine (root), et tout le reste s'y accroche, y compris vos autres disques. Un deuxième disque n'est pas D:, il est monté sur un dossier de l'arbre, /mnt/data par exemple, et à partir de là il ressemble à n'importe quel autre dossier. Cela peut paraître éroutant au début, mais très pratique ensuite, puisqu'un programme n'a jamais à savoir sur quel disque physique il écrit.

L'arborescence

Cet arborescence n'a rien d'arbitraire. Toutes les installations de Debian sont organisées de la même manière, et c'est pour ça qu'un tutoriel écrit pour le serveur de quelqu'un d'autre s'applique également au vôtre.

DossierCe qu'il contient
/homeLes fichiers des utilisateurs. Le vôtre est /home/utilisateur, aussi écrit ~
/rootLe dossier personnel du compte root, à ne pas confondre avec /
/etcLa configuration du système, uniquement des fichiers texte
/varLes données qui grossissent : les logs dans /var/log, Docker dans /var/lib/docker
/tmpLes fichiers temporaires, vidés à chaque redémarrage
/usrLes programmes installés eux-mêmes, gérés par apt
/optLes logiciels installés en dehors du gestionnaire de paquets
/mnt et /mediaLà où sont montés les disques supplémentaires, /media pour les amovibles
/bootLe noyau et le chargeur de démarrage, sur une petite partition à part
/devVotre matériel, exposé sous forme de fichiers (/dev/sda est un disque)
/proc et /sysL'état vivant du noyau, changeant à la volée, pas de vrais fichiers

Un dossier n'est pas une partition

Les partitions sont une question distincte des dossiers. Une installation minimale de Debian en crée typiquement deux, une pour / et une pour le swap, si bien que tous les dossiers ci-dessus sauf /boot vivent sur la même partition et se partagent le même espace libre. Deux commandes pour en voir la réalité : lsblk dessine l'arbre des disques et des partitions, df -h montre le taux de remplissage de chacune.

Terminal
lsblk
Output
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 465.8G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0 461.3G  0 part /
└─sda3   8:3    0     4G  0 part [SWAP]
sdb      8:16   0   3.6T  0 disk
└─sdb1   8:17   0   3.6T  0 part /mnt/data

Quelques habitudes à prendre

  • Ne travaillez que dans un seul dossier pour l'usage de votre serveur. /srv est le dossier que la norme réserve aux données servies par la machine, ce qui en fait l'endroit le plus propre pour mettre les sous dossiers et fichiers dont vous avez besoin de stocker sur votre serveur. Par exemple pour Docker, Serveex met tout dans /srv/docker, un dossier par stack. Ce qui compte, c'est de choisir un endroit et de s'y tenir, plutôt que d'en éparpiller la moitié dans votre dossier personnel ou pire, dans les dossiers de Debian et directement à la racine.
  • Vos fichiers à vous, propre à un utilisateur, vont dans votre home. Les scripts dans ~/bin, les notes, les téléchargements, tout ce qui est personnel. /root est le dossier du compte root, pas un endroit commode où déposer des choses.
  • Ne modifiez jamais quoi que ce soit sous /usr ou /bin à la main. apt en est propriétaire, et vos changements disparaîtront à la prochaine mise à jour. Ce que vous avez le droit de configurer vit dans /etc.
  • Dans /etc, préférez créer un fichier additionnel plutôt que de modifier le principal. Beaucoup de services lisent tous les .conf d'un dossier quelquechose.d/ posé à côté de leur config principale, /etc/ssh/sshd_config.d/ par exemple. Votre fichier survit alors à une mise à jour de paquet qui réécrirait l'original.
  • Montez les disques de données par UUID, pas par /dev/sdb. Les lettres de périphérique sont attribuées dans l'ordre où le noyau trouve les disques, elles peuvent donc s'échanger après un redémarrage ou l'ajout d'un disque. lsblk -f vous donne l'UUID à mettre dans /etc/fstab.
  • Gardez un œil sur /var. Les images Docker, les logs des conteneurs et ceux du système s'y accumulent tous, sur la même partition que le reste. du -sh /var/lib/docker vous dit ce que pèsent les conteneurs, df -h s'il faut s'inquiéter.
  • Ne créez pas vos fichiers avec sudo lorque ce n'est pas nécessaire. Un fichier créé en root dans votre home reste la propriété de root, et vous vous battrez avec des erreurs de permissions dessus pendant des semaines.
Tout ce qui précède suppose que vous savez déjà vous déplacer dans un terminal. Si cd, ls et sudo ne vous parlent pas encore, commencez par les bases de la ligne de commande.
Contributeur:Djeex
Copyright © 2026