Mirror the French docs onto the English structure
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
---
|
||||
title: Dossiers et partitions
|
||||
description: 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.
|
||||
---
|
||||
|
||||
|
||||
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
|
||||
|
||||
Windows donne à chaque disque sa propre lettre. Linux non : il y a exactement un arbre, il commence à `/`, 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. Déroutant au début, très pratique ensuite, puisqu'un programme n'a jamais à savoir sur quel disque physique il écrit.
|
||||
|
||||
## L'arbre
|
||||
|
||||
Cet arbre n'a rien d'arbitraire non plus. Toutes les installations de Debian ont les mêmes dossiers aux mêmes endroits, et c'est pour ça qu'un tutoriel écrit pour le serveur de quelqu'un d'autre s'applique au vôtre.
|
||||
|
||||
| Dossier | Ce qu'il contient |
|
||||
| --- | --- |
|
||||
| `/home` | Les fichiers des utilisateurs. Le vôtre est `/home/utilisateur`, aussi écrit `~` |
|
||||
| `/root` | Le dossier personnel du compte root, à ne pas confondre avec `/` |
|
||||
| `/etc` | La configuration du système, uniquement des fichiers texte |
|
||||
| `/var` | Les données qui grossissent : les logs dans `/var/log`, Docker dans `/var/lib/docker` |
|
||||
| `/tmp` | Les fichiers temporaires, vidés à chaque redémarrage |
|
||||
| `/usr` | Les programmes installés eux-mêmes, gérés par `apt` |
|
||||
| `/opt` | Les logiciels installés en dehors du gestionnaire de paquets |
|
||||
| `/mnt` et `/media` | Là où sont montés les disques supplémentaires, `/media` pour les amovibles |
|
||||
| `/boot` | Le noyau et le chargeur de démarrage, sur une petite partition à part |
|
||||
| `/dev` | Votre matériel, exposé sous forme de fichiers (`/dev/sda` est un disque) |
|
||||
| `/proc` et `/sys` | L'état vivant du noyau, inventé à 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.
|
||||
|
||||
```bash [Terminal]
|
||||
lsblk
|
||||
```
|
||||
|
||||
```console [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
|
||||
|
||||
- **Donnez un seul foyer à vos stacks Docker, et gardez-les là.** `/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 les fichiers compose et leurs bind mounts. [Serveex](/serveex/introduction) 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.
|
||||
- **Vos fichiers à vous 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 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` quand 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.
|
||||
|
||||
::note{to="/general/linux/cli-basics"}
|
||||
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**.
|
||||
::
|
||||
Reference in New Issue
Block a user