Résumé sur les commandes générales et essentielles pour manipuler les disques sous Linux, visualiser les différents systèmes de fichiers, les différents disques et pour gérer les partitions.
Informations sur les périphériques
Disques SCSI/SATA
La commande lsscsi
permet d’énumérer les périphériques SCSI/SATA. L’option -s
permet d’obtenir la taille du disque.
# lsscsi -s |
Disques SATA uniquement
L’utilitaire hdparm
permet d’obtenir des informations pour les disques SATA.
# hdparm /dev/sda1 |
L’option -g
permet d’avoir des informations sur les secteurs.
# hdparm -g /dev/sda1 |
Informations sur les périphériques Block
Les périphériques de bloc sont des périphériques de stockage tels que des disques durs, des lecteurs flash, etc. La commande lsblk
est utilisée pour signaler des informations sur les périphériques de bloc comme suit.
# lsblk |
Si vous souhaitez afficher tous les périphériques de bloc sur votre système, incluez l’option -a
.
# lsblk -a |
Interruptions
Une interruption est un arrêt temporaire de l’exécution normale d’un programme par le CPU afin d’exécuter un autre programme (appelé service d’interruption).
# cat /proc/interrupts |
Système de fichiers
Commande fsck
La commande fsck
permet de vérifier et de réparer un système de fichiers.
# fsck |
Commande badblocks
La commande badblocks
tente de vérifier les blocs défectueux sur le périphérique de stockage fourni en argument. Elle peut être appelée par mkfs
ou fsck
si le paramètre -c
(check) leur est fourni. Par défaut badblocks
lit l’intégralité des blocs du support et retourne un erreur si un ou plusieurs d’entre eux sont illisibles. La commande peut être lancée même si le système de fichiers est monté, sauf si vous tentez un test en lecture et écriture, même non destructif.
# badblocks -v /dev/sda2 |
Les paramètres -n
(non destructif) et -w
(write, avec motifs, destructif) tentent des écritures sur les blocs. Le premier lit et réécrit le bloc à l’identique, le second écrit plusieurs motifs (0xaa, 0x55, 0xff, 0x00) donc écrase l’ancien contenu. L’exécution de badblocks
peut être très longue, plusieurs heures sur quelques centaines de Go.
Commande dumpe2fs
La commande `dumpe2fs`` accepte en argument un périphérique contenant un système de fichiers ext2 ou ext3. Elle retourne un grand nombre d’informations sur le système de fichiers.
# dumpe2fs /dev/sda2 |
Commande tune2fs
La commande tune2fs
est l’une des commandes unix avancées qui vous permet d’ajuster divers paramètres accordables des systèmes de fichiers ext2/ext3
. Naturellement, cela vous aide également à confirmer les paramètres existants configurés pour vos systèmes de fichiers.
La commande tunefs -l
vous montrera toutes les informations contenues dans le superbloc d’un système de fichiers.
# tune2fs -l /dev/sda2 |
Information sur les partitions
Le fichier /proc/partitions
Ce fichier contient des informations d’allocation de blocs de partition.
- major : correspond au bloc de périphérique ide0, dans
/proc/devices
- minor : sert à séparer les partitions en plusieurs disques physiques, le nombre correspond à la fin du nom de la partition.
- blocks : nombre de blocs contenus dans la partition.
- name : nom de la partition.
# cat /proc/partitions |
Le fichier /etc/fstab
Le fichier /etc/fstab
contient une configuration statique des différents montages des systèmes de fichiers. Il est appelé à chaque démarrage du système car c’est ici qu’on indique les périphériques et leurs points de montage. Il contient six champs : périphérique point_de_montage typefs options dump fsck
.
# cat /proc/partitions |
Manipuler les partitions
Commande fdisk
Lancé tel quel fdisk -l
se place sur le premier disque du système. Le paramètre -l
permet de lister les partitions du disque donné, ou de tous les disques.
# fdisk -l /dev/sda |
Pour manipuler les partitions (suppression, ajout, modification) il faut lancer fdisk
directement sur le DD. Il est ensuite conseillé d’aller regarder l’aide en tapant sur m
:
# fdisk /dev/sda |
Monter / démonter / remonter / forcer un périphérique
Lister les périphériques avec mount
La commande mount
permet d’accéder aux périphériques de type blocs (les partitions) sur lesquels un système de fichiers existe. La commande mount
attache le répertoire racine du système de fichiers à un répertoire pré-existant appelé point de montage (mountpoint).
# mount |
Les mêmes informations sont accessibles en affichant le contenu du fichier /etc/mtab
.
# cat /etc/mtab |
Monter un périphérique avec mount
La partition sdb1
disposant de nouveau d’un système de fichiers ext3, la commande suivante rattache la racine du système de fichiers contenu dans sdb1 au répertoire /mnt/DATA
.
mount -t ext3 /dev/sdb1 /mnt/DATA |
Remonter un système de fichiers
Vous n’êtes pas obligé·e de démonter puis de remonter un système de fichiers si vous modifiez une option. Si vous modifiez une option de montage du système de fichiers (via le paramètre -o
) vous pouvez passer l’option remount
pour que la modification soit prise tout de suite en compte. Ne retapez pas la ligne de commande complète, mais seulement le périphérique ou le point de montage. Dans l’exemple suivant le système de fichiers est remonté en lecture seule :
# mount -o ro,remount /mnt/DATA |
Démonter un périphérique
La commande umount
détache le système de fichiers du point de montage.
# umount /mnt/DATA |
Périphérique occupé, donc pas démontable
Si un ou plusieurs fichiers du système de fichiers à démonter sont encore en cours d’utilisation, alors umount
ne marchera pas.
# umount /mnt/DATA |
Vous devez vous assurer qu’aucun processus n’accède au système de fichiers.
Commande lsof
La commande lsof
vous aide à déterminer quel processus est actuellement en train d’utiliser un fichier du point de montage. Ici c’est le shell bash lancé par l’utilisateur john qui y est présent (probablement que le répertoire courant est /mnt/DATA
).
# lsof /mnt/DATA |
Forcer un périphérique à se démonter
Commande fuser
De manière très violente vous pouvez forcer l’arrêt des processus accédant au point de montage avec fuser. Il est fort probable que l’utilisateur concerné n’apprécie pas du tout (dans le cas présenté ici son shell sera arrêté et il sera déconnecté).
# fuser -km /mnt/DATA |
Commande df
La commande df
permet d’obtenir des statistiques d’occupation de chaque système de fichiers monté. Sans argument, df fournit des informations sur tous les systèmes de fichiers. Vous pouvez passer comme argument un périphérique monté ou un point de montage. Si vous passez un répertoire quelconque, df
donne des informations sur le système de fichiers qui contient ce répertoire.
# df |
Le résultat est explicite. L’unité par défaut est le kilo-octet (identique au paramètre -k
) bien que la norme POSIX
définisse une unité de bloc à 512 octets. Vous pouvez modifier les paramètres pour demander le résultat en Mo(-m
).
# df -m /home |
Pour que ce soit plus lisible, rajoutez le paramètre -h
(Human readable), à ne pas confondre pas ce dernier paramètre avec -H
qui affiche le résultat en unités SI (Système International).
# df -h /home |
Le -T
rajoute l’affichage du type de système de fichiers.
# df -T /home |