Montage des dossiers
I ) Généralités sur le système de fichiers
Généralités sur le système de fichiers
Sous Linux la gestion des fichiers s'articule autour de dossiers et sous-dossiers qui contiennent tous les fichiers appartenant au système ou aux utilisateurs de la machine. Tous les dossiers de “premier” niveau sont considérés comme appartenant à un dossier unique portant pour nom “/”, oralement appelé racine du système de fichiers. Lors de l'installation tous les dossiers “appartiennent” aux systèmes, seul le dossier /home sera consacré, réservé, aux différents utilisateurs de la machine. Chaque utilisateur dispose d'un dossier de la forme /home/pseudo et peut y organiser ses données comme il l'entend et il est le seul à y avoir accès.
Linux est un système d'exploitation multi-utilisateurs, cela se traduit en associant à chaque utilisateur un pseudonyme unique sur la machine. A chaque pseudonyme est associé un identificateur d'utilisateur (entier) unique pour le système. Le gestionnaire de la machine crée des identificateurs de groupes qui permettent de gérer des groupes d'utilisateurs afin de fixer des droits d'usage de logiciel ou d'accès à des dossiers et fichiers. Généralement tout utilisateur, lors de la création de son compte, dispose d'un identificateur de groupe unique et personnel qui lui permet de gérer lui même les droits de ses données (dossiers,fichiers) sans recourir à l'administrateur de la machine.
Souvent les machines ne disposent que d'un seul disque dur. Lors de l'installation de Linux, le disque est préparé pour disposer de la totalité du disque et après l'installation tous les dossiers et fichiers du disque dur sont disponibles grâce au gestionnaire du système de fichiers. Mais cette façon d'opérer n'est pas prudente car si on est amené à réinstaller le système on risque fort de perdre ses données personnelles. Pour palier à ce problème il faut disposer d'un second disque et de connecter celui-ci au dossier /home. Si l'on ne dispose pas d'un second disque il existe encore la possibilité de diviser le disque en deux parties lors de l'installation et Linux permet de considérer chacune de ces parties comme d'un disque.
Chaque partie d'un disque est appelée partition et lors de l'installation de Linux il faut veiller à disposer au minimum de deux partitions ( sur un ou plusieurs disque(s) ), la première pour le système, l'autre (ou les autres) pour les données utilisateurs. Après l'installation de Linux et à chaque démarrage du PC, chaque partition est relié directement à un lien spécial apparaissant dans le dossier /dev/. Chacun de ces liens n'est pas utilisable directement, c'est dans le fichier /etc/fstab qu'est décrit le raccordement de ces liens vers des dossiers précis qui permettent eux d'accéder aux données contenues dans les partitions. Le fait de raccorder une partition à un dossier est appelé montage
II ) Raccordement d'un dossier source sur un dossier cible
Raccordement d'un dossier source sur un dossier cible
II ) Montages lors du démarrage d'une machine Linux
Information sur le démarrage d'un machine Linux
Tout PC dispose d'un BIOS ( Basic Input Output System / Système d'entrées sorties de base). Lors de la mise sous tension de la machine, celle ci démarre toujours en lisant le tout début du premier disque existant. Les logiciels permettant d'installer un système d'exploitation (Linux, Windows, autres…) connaissent tous les spécificités du BIOS et inscrivent là où il faut les instructions nécessaires pour le bon démarrage de la machine pour le futur système d'exploitation.
Pour ce qui concerne les distributions Linux, l'installateur à initialise en particulier le fichier /etc/fstab à des valeurs qui permettent de décrire comment le système raccorde des partitions à des dossiers à chaque démarrage de la machine. En tant qu'administrateur de la machine, il est possible d'ajouter et/ou de retirer des ressources en modifiant ce fichier. Dans l'exemple qui suit l'administrateur à prévu des répartitions de ressources en reliant des dossiers à d'autres…
1 # /etc/fstab: static file system information.
2 #
3 # Use 'blkid' to print the universally unique identifier for a device; this may
4 # be used with UUID= as a more robust way to name devices that works even if
5 # disks are added and removed. See fstab(5).
6 #
7 # <file system> <mount point> <type> <options> <dump> <pass>
8 /dev/nvme0n1p1 /boot/efi vfat umask=0077 0 2
9 /dev/nvme0n1p2 / ext4 defaults,noatime 0 1
10 /dev/nvme0n1p3 /Data ext4 noatime 0 1
11
12 tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
13 ##________________________________________________________________________________________________________________
14 ##
15 /Data/Machine/ti-dellg167630/ /Machine none bind 0 0
16 ##___________________________________________________________________________________________
17 ##
18 /Machine/home /home none bind 0 0
19
20 /Machine/root /root none bind 0 0
21
22 /Machine/Compte/ /Compte none bind 0 0
Les lignes de 1 à 12 ont été créées lors de l'installation de Linux et les suivantes par l'administrateur de la machine. La configuration présentée permet de faire en sorte que les données des utilisateurs se situent physiquement sur la partition accessible par /Data même si logiquement ces données sont accessibles par d'autres chemins…
| numéros de ligne | Commentaires |
|---|---|
| 1-7 | Commentaires de l'installateur de Linux |
| 8,9,10,12 | Montages définis par l'installateur de Linux |
| 11,19,21 | Lignes vides pour aérer le texte |
| 13,14,16,17 | Commentaires de l'administrateur |
| 15,18,20,22 | Montages définis par l'administrateur après l'installation de Linux |
La lecture des lignes 8,9,10 nous renseigne sur la manière dont Linux reconnaît les partitions situées sur le disque. Il faut savoir que Linux reconnaît les périphériques dans sa phase de mise sous tension et les “raccorde” sur un élément situé dans le dossier /dev (devices ⇔ périphériques). Dans notre cas le disque est raccordé à /dev/nvme0n1 et l'installateur à créé 3 partitions raccordées à /dev/nvme0n1p1 /dev/nvme0n1p2 /dev/nvme0n1p3. Le fichier /etc/fstab mémorise les différents raccordements des partitions vers des dossiers. Après la reconnaissance des partitions le fichier /etc/fstab indique comment doit raccorder ces partitions à des dossiers particuliers.
Remarques : Le nom nvme0n1 associé au disque ne peut être modifié, il est choisit par l'installateur et sera différent selon le type de machine, type de disque et de distribution Linux. Pour des raisons de commodité et surtout un risque de perte des données (/Data) si l'on est amené à placer le disque dans un autre PC, une nouvelle façon de lier une partition à un dossier est apparu depuis quelques années. Le logiciel qui réalise le formatage d'une partition inscrit sur le disque concerné les informations au sujet de chaque partition formatée. Un UUID identificateur unique est attribué à chaque partition lors de son formatage et c'est cet UUID qui est utilisé pour identifier une partition dans /etc/fstab par l'installateur. Aussi les lignes de 8 à 10 seront en réalité les suivantes :
8 UUID=E217-4406 /boot/efi vfat umask=0077 0 2
9 UUID=89b71868-44b3-436e-8b4e-9a36aa3d9836 / ext4 defaults,noatime 0 1
10 UUID=59e1d069-4c9c-4903-8056-60ac7de73d0d /Data ext4 noatime 0 1
1 # /etc/fstab: static file system information.
2 #
3 # Use 'blkid' to print the universally unique identifier for a device; this may
4 # be used with UUID= as a more robust way to name devices that works even if
5 # disks are added and removed. See fstab(5).
6 #
7 # <file system> <mount point> <type> <options> <dump> <pass>
8 UUID=E217-4406 /boot/efi vfat umask=0077 0 2
9 UUID=89b71868-44b3-436e-8b4e-9a36aa3d9836 / ext4 defaults,noatime 0 1
10 UUID=59e1d069-4c9c-4903-8056-60ac7de73d0d /Data ext4 noatime 0 1
11
12 tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
13 ##________________________________________________________________________________________________________________
14 ##
15 /Data/Machine/ti-dellg167630/ /Machine none bind 0 0
16 ##___________________________________________________________________________________________
17 ##
18 /Machine/home /home none bind 0 0
19
20 /Machine/root /root none bind 0 0
21
22 /Machine/Compte/ /Compte none bind 0 0
Ces informations on pu être retrouvées grâce aux deux commandes suivantes :
ls -al /dev/disk/by-uuid total 0 drwxr-xr-x 2 root root 180 4 déc. 08:07 ./ lrwxrwxrwx 1 root root 15 4 déc. 08:07 E217-4406 -> ../../nvme0n1p1 lrwxrwxrwx 1 root root 15 4 déc. 08:07 89b71868-44b3-436e-8b4e-9a36aa3d9836 -> ../../nvme0n1p2 lrwxrwxrwx 1 root root 15 4 déc. 08:07 59e1d069-4c9c-4903-8056-60ac7de73d0d -> ../../nvme0n1p3 ls -al /dev/nvme0n1p1 /dev/nvme0n1p2 /dev/nvme0n1p3 brw-rw---- 1 root disk 259, 4 4 déc. 08:07 /dev/nvme0n1p1 brw-rw---- 1 root disk 259, 6 4 déc. 08:07 /dev/nvme0n1p2 brw-rw---- 1 root disk 259, 8 4 déc. 08:07 /dev/nvme0n1p3
Ces deux commandes permettent de se rendre compte que le disque à été raccordé logiquement en /dev/nvme0n1 et les 3 partitions respectivement à /dev/nvme0n1p1 /dev/nvme0n1p2 /dev/nvme0n1p3
