Introduction
Bienvenue dans cet atelier consacré au système de fichiers et à la gestion des disques sous Linux ! Ce laboratoire est conçu pour les débutants qui font leurs premiers pas dans l'administration système Linux. Nous vous guiderons à travers les commandes et concepts essentiels liés à la gestion de l'espace disque, à la création de disques virtuels et à la maintenance des systèmes de fichiers. À la fin de cet atelier, vous aurez acquis une expérience pratique des outils fondamentaux de gestion de disques Linux.
Visualiser l'utilisation du disque avec df
La commande df (disk free) est votre outil de référence pour vérifier l'utilisation de l'espace disque sur votre système Linux. Explorons comment l'utiliser :
Ouvrez votre terminal. Vous devriez vous trouver dans le répertoire
/home/labex/project. En cas de doute, vous pouvez toujours vérifier votre répertoire actuel avec la commandepwd.Exécutez la commande suivante pour visualiser l'utilisation du disque :
dfVous verrez une sortie similaire à celle-ci :
Filesystem 1K-blocks Used Available Use% Mounted on overlay 20971520 128744 20842776 1% / tmpfs 65536 0 65536 0% /dev tmpfs 3995004 0 3995004 0% /sys/fs/cgroup shm 65536 0 65536 0% /dev/shm /dev/vdb 104806400 57754052 47052348 56% /etc/hostsNe vous inquiétez pas si cela semble confus au premier abord ! Décomposons les colonnes :
Filesystem: Cette colonne affiche le nom du disque ou de la partition.1K-blocks: Il s'agit de la taille totale du système de fichiers en blocs de 1 kilo-octet.Used: Indique la quantité d'espace actuellement utilisée.Available: Indique l'espace libre restant.Use%: Affiche le pourcentage d'utilisation du système de fichiers.Mounted on: Indique l'emplacement dans l'arborescence des répertoires où le système de fichiers est monté.
Rendons maintenant cette sortie plus lisible pour un humain. Exécutez :
df -hL'option
-hsignifie "human-readable" (lisible par l'homme). Vous verrez une sortie comme celle-ci :Filesystem Size Used Avail Use% Mounted on overlay 20G 126M 20G 1% / tmpfs 64M 0 64M 0% /dev tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup shm 64M 0 64M 0% /dev/shm /dev/vdb 100G 56G 45G 56% /etc/hostsC'est beaucoup mieux, n'est-ce pas ? Les tailles sont désormais exprimées en Go et Mo, ce qui est plus facile à appréhender.
Si vous souhaitez vérifier l'espace sur un système de fichiers spécifique, vous pouvez le préciser :
df -h /dev/vdbCela affichera les informations uniquement pour le système de fichiers
/dev/vdb.
La commande df est incroyablement utile pour vérifier rapidement l'espace disque restant. Si jamais votre système signale un manque d'espace, df est souvent la première commande à utiliser pour enquêter.
Examiner la taille des répertoires avec du
Alors que df nous donne une vue d'ensemble de l'utilisation du disque, nous avons parfois besoin d'approfondir les recherches. C'est là qu'intervient du (disk usage). Elle nous aide à comprendre quels répertoires et fichiers occupent le plus d'espace.
Commençons par utiliser
dudans sa forme la plus simple. Exécutez :du ~Vous verrez une longue liste de chiffres et de noms de répertoires. Chaque chiffre représente la taille du répertoire en kilo-octets. Cela peut être fastidieux, alors rendons cela plus gérable.
Pour une sortie plus lisible, utilisez l'option
-h:du -h ~L'option
-h, tout comme avecdf, rend la sortie lisible par l'homme en affichant les tailles en Ko, Mo ou Go selon le cas.Souvent, nous voulons simplement connaître la taille totale d'un répertoire. Pour cela, utilisez :
du -sh ~Ici,
-ssignifie "summarize" (résumer) et~représente votre répertoire personnel (home). Cette commande affichera la taille totale de tout ce qui se trouve dans votre dossier personnel.Pour visualiser la taille des sous-répertoires directs de votre dossier personnel, utilisez :
du -h --max-depth=1 ~Cela affiche la taille de chaque sous-répertoire au premier niveau de profondeur. L'option
--max-depth=1limite la récursion dedudans les sous-dossiers.Vérifions la taille des éléments dans votre répertoire personnel :
du -sh ~/*Cela affichera la taille de chaque fichier et répertoire non caché situé directement sous votre dossier personnel.
Voici une commande puissante pour trouver les éléments les plus volumineux dans votre répertoire personnel :
du -h ~ | sort -rh | head -n 10Décomposons cette commande :
du -h ~liste tous les fichiers et répertoires de votre dossier personnel avec leurs tailles.sort -rhtrie cette liste par ordre inverse (le plus grand en premier) et au format lisible par l'homme.head -n 10n'affiche que les 10 premières lignes du résultat.|est un "pipe" (tube), qui transmet la sortie d'une commande comme entrée à la suivante.
Cette commande est un excellent exemple de la manière dont nous pouvons combiner des commandes Linux simples pour effectuer des opérations complexes.
La commande du est inestimable lorsque vous essayez de libérer de l'espace disque. Elle vous aide à identifier précisément quels répertoires ou fichiers sont les plus encombrants, afin de savoir où concentrer vos efforts de nettoyage.
Création et gestion d'un disque virtuel
Avant de commencer, comprenons ce qu'est un disque virtuel. Un disque virtuel est simplement un fichier qui se comporte comme un lecteur de disque physique. Imaginez que vous créez un fichier conteneur que le système d'exploitation peut traiter comme s'il s'agissait d'un véritable disque dur. C'est ainsi que les machines virtuelles utilisent des fichiers de disque virtuel pour stocker leurs données.
Pourquoi faire cela ? Les disques virtuels sont utiles pour :
- Tester des opérations sur les disques en toute sécurité sans risquer le matériel réel.
- Créer des espaces de stockage isolés.
- Apprendre la gestion des disques sans avoir besoin de matériel physique supplémentaire.
- Créer des images de sauvegarde de disques réels.
Comprendre les concepts clés
Avant de passer à la pratique, clarifions quelques concepts importants :
Système de fichiers : Considérez un système de fichiers comme la manière dont les fichiers et les dossiers sont organisés sur un disque. C'est comme un système de classement dans un bureau : il détermine comment les données sont stockées et récupérées. Les systèmes de fichiers Linux courants incluent ext4 (que nous utiliserons), XFS et btrfs.
Montage : Le montage est le processus consistant à rendre un système de fichiers accessible au système d'exploitation. Lorsque vous montez un système de fichiers, vous dites à Linux : "rends le contenu de ce disque disponible dans ce répertoire spécifique". C'est comparable à :
- Brancher une clé USB (la connexion physique).
- Puis dire à l'ordinateur où afficher son contenu (le point de montage).
Partitions : Une partition est une section d'un disque traitée comme une unité distincte. C'est comme diviser un grand disque dur en sections plus petites et indépendantes. On partitionne pour :
- Séparer les fichiers système des fichiers utilisateur.
- Utiliser différents systèmes de fichiers pour différents usages.
- Faciliter les sauvegardes.
- Limiter l'impact des pannes de disque.
Créons et manipulons un disque virtuel :
Tout d'abord, créons un disque virtuel de 256 Mo à l'aide de la commande
dd:dd if=/dev/zero of=virtual.img bs=1M count=256Décomposons cette commande :
ddest un utilitaire pour copier et convertir des fichiers.if=/dev/zerosignifie "input file" (fichier d'entrée) est/dev/zero(un fichier spécial qui fournit des zéros à l'infini).of=virtual.imgsignifie "output file" (fichier de sortie) estvirtual.img(notre nouveau fichier de disque virtuel).bs=1Mdéfinit la taille de bloc à 1 mégaoctet (quantité de données à copier à la fois).count=256signifie copier 256 blocs (ce qui donne un fichier de 256 Mo).
Cela crée un fichier vide rempli de zéros que nous utiliserons comme disque virtuel.
Vérifiez la taille du fichier :
ls -lh virtual.imgVous devriez voir que
virtual.imgfait exactement 256 Mo.Maintenant, formatons ce disque virtuel avec un système de fichiers ext4 :
sudo mkfs.ext4 virtual.imgQue se passe-t-il ici ? Cette commande :
- Crée un nouveau système de fichiers ext4 à l'intérieur de notre fichier de disque virtuel.
- Met en place la structure de base nécessaire pour stocker des fichiers et des répertoires.
- Est similaire au formatage d'une nouvelle clé USB avant sa première utilisation.
Le système de fichiers ext4 est le standard par défaut pour de nombreuses distributions Linux car il est fiable et éprouvé.
Ensuite, nous devons créer un point de montage. C'est le répertoire où le contenu de notre disque virtuel apparaîtra :
sudo mkdir /mnt/virtualdiskConsidérez un point de montage comme une "fenêtre" sur votre disque virtuel. Après le montage, lorsque vous regarderez dans ce répertoire, vous verrez en réalité le contenu du disque virtuel.
Nous pouvons maintenant monter le disque virtuel :
sudo mount -o loop virtual.img /mnt/virtualdiskDécomposons l'opération :
- L'option
-o loopindique à Linux de traiter notre fichier comme s'il s'agissait d'un véritable périphérique de disque. virtual.imgest notre source (le disque virtuel que nous avons créé)./mnt/virtualdiskest l'endroit où nous voulons que le contenu apparaisse.
C'est similaire à ce qui se passe automatiquement lorsque vous branchez une clé USB, sauf que nous le faisons manuellement avec notre fichier image.
- L'option
Vérifions que le disque est bien monté :
mount | grep virtualdiskVous devriez voir une ligne indiquant que
virtual.imgest monté sur/mnt/virtualdisk.Maintenant qu'il est monté, nous pouvons l'utiliser comme n'importe quel autre répertoire. Créons un fichier :
sudo touch /mnt/virtualdisk/testfile ls /mnt/virtualdiskVous devriez voir
testfilelisté.Lorsque vous avez fini d'utiliser le disque virtuel, vous devez le démonter :
sudo umount /mnt/virtualdiskLe démontage retire le système de fichiers de ce répertoire, garantissant que le système d'exploitation termine toutes les opérations de lecture et d'écriture en attente avant de le détacher. Ne pas démonter correctement peut entraîner une corruption des données. Bien que la syntaxe de la commande se concentre sur le démontage du répertoire, le système d'exploitation sait en arrière-plan que ce répertoire correspond à l'image disque montée.
Ce processus de création, de formatage et de montage d'un disque virtuel est très proche de ce qui se passe lors de l'ajout d'un nouveau disque dur ou d'une clé USB. La différence principale est que nous effectuons tout via un fichier au lieu d'un périphérique physique.
Monter un système de fichiers signifie l'attacher à un répertoire spécifié afin que le système d'exploitation puisse accéder aux données qu'il contient. Dans cet atelier, le fichier image du disque virtuel est traité comme un disque physique, et le montage rend son contenu disponible dans un répertoire particulier (par exemple, /mnt/virtualdisk).
Gestion des partitions de disque avec fdisk
Sur un système réel, avant de pouvoir créer un système de fichiers, vous devez souvent créer des partitions. Bien que nous ne puissions pas modifier les partitions de disque réelles dans cet environnement virtuel, nous pouvons explorer comment utiliser fdisk pour visualiser les informations de partitionnement.
Tout d'abord, visualisons les informations sur toutes les partitions de disque :
sudo fdisk -lCela affichera des informations sur tous les périphériques de disque et leurs partitions. Vous verrez des détails sur la taille du disque, le nombre de secteurs et la table des partitions.
Maintenant, regardons les informations de partition pour notre disque virtuel :
sudo fdisk -l virtual.imgCela affichera la table des partitions du disque virtuel. Comme nous avons créé le système de fichiers directement sur l'image disque sans partitionnement, vous pourriez voir un message indiquant qu'elle ne contient pas de table de partitions valide.
Sur un système réel, vous utiliseriez fdisk de manière interactive pour créer, supprimer ou modifier des partitions. Voici un bref aperçu de son fonctionnement :
- Vous lanceriez
fdiskavecsudo fdisk /dev/sdX(remplacez X par la lettre appropriée du disque à partitionner). - Vous utiliseriez la commande 'n' pour créer une nouvelle partition.
- 'd' permettrait de supprimer une partition.
- 't' modifierait l'identifiant système d'une partition (indiquant son usage prévu).
- 'w' écrirait les modifications sur le disque et quitterait le programme.
N'oubliez pas que la modification des partitions peut entraîner une perte de données. Soyez donc toujours prudent et sauvegardez vos données importantes avant d'apporter des modifications aux partitions de disque.
Fdisk ne se limite pas à l'affichage d'informations. Il permet également de créer, supprimer et modifier des partitions de manière interactive. Bien qu'il s'agisse d'un outil essentiel, soyez vigilant lors de son utilisation sur un système contenant des données critiques ; des modifications incorrectes peuvent entraîner des pertes de données définitives.
Résumé
Félicitations ! Dans cet atelier, vous avez appris à :
- Visualiser l'utilisation du disque avec
df. - Examiner la taille des répertoires avec
du. - Créer, formater, monter et démonter un disque virtuel.
- Consulter les informations de partition avec
fdisk.
Ces compétences constituent la base de tâches plus avancées d'administration système Linux. Elles sont cruciales pour la gestion du stockage, le dépannage des problèmes d'espace disque et le maintien de la santé des systèmes de fichiers.
En guise de défi supplémentaire, essayez d'écrire un script shell qui trouve les 10 fichiers ou répertoires les plus volumineux de votre dossier personnel et affiche leurs tailles dans un format lisible par l'homme. Cela combinera plusieurs des commandes apprises aujourd'hui.
N'oubliez pas que la pratique est la clé pour maîtriser ces concepts. N'hésitez pas à expérimenter ces commandes (dans un environnement sûr) pour approfondir votre compréhension. Bonne chance pour la suite de votre apprentissage de l'administration système Linux !



