Il existe de nombreux utilitaires, tels que fdisk, cdisk, pour partitionner le disque dur dans les systèmes de type Linux et Unix. Dans cet article, nous allons nous concentrer sur l'utilisation de l'utilitaire parted pour créer une partition et gérer les partitions de disque (redimensionnement, suppression de partitions) sous Linux.
Qu'est-ce que Parted ?
GNU Parted est une suite de ligne de commande pour créer et manipuler des tables de partitions dans les systèmes Linux et Unix. En utilisant Parted, on peut créer, redimensionner, supprimer des partitions, réorganiser l'utilisation du disque, copier des données et créer des images de disque.
Parted contient une bibliothèque, libparted , ainsi qu'une interface de ligne de commande, séparés , qui peut également être utilisé dans des scripts. Parted est conçu pour minimiser les risques de perte de données. Il effectue de nombreux contrôles de sécurité afin d'éviter la perte de données dans des situations imprévues, par exemple une panne de courant.
Parted est un programme gratuit et open source livré par défaut avec les systèmes d'exploitation Linux modernes.
Installer Parted sous Linux
Parted est installé avec toutes les distributions Linux. Si parted n'est pas disponible dans votre distribution, vous pouvez exécuter les commandes suivantes pour l'installer.
Pour installer Parted sur Alpine Linux, exécutez :
$ sudo apk add parted
Sur Arch Linux, EndeavourOS et Manjaro Linux, exécutez :
$ sudo pacman -S parted
Pour Debian/Ubuntu et ses dérivés, exécutez la commande suivante.
$ sudo apt -y install parted
Fedora, RHEL, AlmaLinux et Rocky Linux :
$ sudo dnf install parted -y
Choisir le bon appareil
La première chose à noter avant d'utiliser parted est le disque que vous allez partitionner. Lorsque vous exécutez la commande parted sans passer le nom du disque comme argument, il prend le premier périphérique bloc qu'il trouve et l'utilise.
$ sudo parted GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
Attention : Vous devez soit utiliser sudo, soit basculer en tant qu'utilisateur root et exécuter la commande parted.
Pour utiliser l'appareil particulier, vous devez passer l'appareil (par exemple /dev/sdc
) comme argument de la commande parted.
$ sudo parted /dev/sdc GNU Parted 3.2 Using /dev/sdc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
Alternativement, à partir de l'utilitaire parted, vous pouvez basculer entre différents lecteurs à l'aide de "select"
commande.
(parted) select /dev/sdb
Using /dev/sdb
(parted) select /dev/sdc
Using /dev/sdc
Imprimer la section d'aide séparée
Pour obtenir la liste des commandes partagées, exécutez le help
commande.
(parted) help align-check TYPE N check partition N for TYPE(min|opt) alignment help [COMMAND] print general help, or help on COMMAND mklabel,mktable LABEL-TYPE create a new disklabel (partition table) mkpart PART-TYPE [FS-TYPE] START END make a partition name NUMBER NAME name partition NUMBER as NAME print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition quit exit program rescue START END rescue a lost partition near START and END resizepart NUMBER END resize partition NUMBER rm NUMBER delete partition NUMBER select DEVICE choose the device to edit disk_set FLAG STATE change the FLAG on selected device disk_toggle [FLAG] toggle the state of FLAG on selected device set NUMBER FLAG STATE change the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNIT set the default unit to UNIT version display the version number and copyright information of GNU Parted
Chacune de ces commandes a une section d'aide distincte. Par exemple, si vous souhaitez obtenir les options de support pour le print
commande, vous pouvez exécuter la commande suivante.
(parted) help print
Imprimer la table des partitions
Si vous souhaitez voir la table des partitions pour tous les périphériques de bloc disponibles, exécutez la commande suivante depuis le terminal.
$ sudo parted -l
Pour voir la table de partition dans l'utilitaire parted, utilisez le "print"
commande.
Le print
La commande vous donnera des informations telles que le modèle de disque, la taille du disque, le schéma de partition et enfin la table de partition. Comme il s'agit d'un nouveau disque, aucune partition n'a été créée.
Pour obtenir quel schéma de partition du disque, vous pouvez exécuter soit le print
commande dans la console séparée ou exécutez la commande suivante directement depuis le terminal.
$ sudo parted /dev/sdc print | grep -i table Partition Table: gpt
Vous pouvez obtenir les noms de périphérique de bloc seuls en passant "devices"
comme argument de la commande d'impression.
(parted) print devices
/dev/sdc (21.5GB)
/dev/sda (53.7GB)
/dev/sdb (21.5GB)
/dev/sr0 (61.1MB)
Vous pouvez obtenir la quantité d'espace libre restant sur le disque en passant "free"
comme argument de print
commande.
(parted) print free Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 17.4kB 21.5GB 21.5GB Free Space
Pour imprimer toutes les informations sur l'appareil dans parted, passez "list,all"
comme argument du print
commande.
(parted) print list,all
Disque sans étiquette
Avant de créer des partitions à l'aide du lecteur, le lecteur doit être étiqueté pour utiliser un schéma de partition particulier. Si vous exécutez la commande d'impression sur un disque sans étiquette, vous pouvez voir l'ERREUR.
(parted) print
Error: /dev/sdc: unrecognised disk label
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdc: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
Pour créer une étiquette, vous pouvez utiliser soit mklabel
ou mktable
commande. Si vous n'avez aucune idée de la liste des étiquettes prises en charge, exécutez "help mklabel
" ou "help mktable
".
Je vais étiqueter ce lecteur pour utiliser le schéma GPT. Si vous avez besoin d'un schéma de partition MBR, utilisez msdos .
(parted) mklabel gpt
Maintenant, si vous exécutez le print
commande à nouveau, vous pouvez voir l'étiquette.
Attention : Avant d'exécuter cette commande, assurez-vous que vous utilisez le bon disque. Parce que cette commande peut effacer toutes les partitions d'un disque avec ses données.
Créer de nouvelles partitions avec Parted
Pour créer des partitions, vous devez utiliser le mkpart
commande.
Avant d'exécuter la commande mkpart, consultez les informations d'aide qui donneront des détails sur la liste des options.
help mkpart
Je vais créer deux partitions de 10 Go chacune. Créons la première partition.
(parted) mkpart Partition name? []? project File system type? [ext2]? ext4 Start? 1 End? 10GB
Cette étape sera interactive.
- Choisissez un nom pour la partition.
- Choisissez le type de système de fichiers. Par défaut, il est défini sur
ext2
. - Choisissez l'emplacement de départ du disque. Vous pouvez spécifier en termes de Mo, Go. Ici, j'ai donné 1, donc ce sera à partir de 1 Mo.
- Choisissez l'emplacement final du disque. Ici, 10 Go est donné.
Exécutez le print
commande et vous pouvez voir la partition créée.
(parted) print Model: ATA VBOX HARDDISK (scsi) Disk /dev/sdc: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 10.0GB 9999MB project
Créons la deuxième partition. Vous pouvez combiner toutes les entrées interactives et les passer comme arguments au mkpart
commande.
(parted) mkpart project1 ext4 10001MB 19999MB
Les partitions que vous avez créées ne sont pas encore enregistrées. Vous devez utiliser le "partprobe
" pour informer le noyau des modifications que vous avez apportées à la table de partition.
Quittez l'utilitaire partagé en tapant "quit
" et exécutez le partprobe
commande.
$ sudo partprobe
Supprimer des partitions
Vous pouvez supprimer les partitions en utilisant le rm
commande. Le rm
La commande accepte le numéro de partition comme argument et supprime cette partition.
help rm
Si la partition est active et qu'un système de fichiers est déjà monté, il est recommandé de commencer par nettoyer les données, de démonter le système de fichiers, puis de supprimer la partition.
Si vous essayez de supprimer la partition en cours d'utilisation, vous serez invité à confirmer la suppression de la partition et une erreur vous indiquera que les modifications seront effectives après le redémarrage. Choisissez "Ignore
".
(parted) rm 1 Warning: Partition /dev/sdc1 is being used. Are you sure you want to continue? Yes/No? yes Error: Partition(s) 1 on /dev/sdc have been written, but we have been unable to inform the kernel of the change, probably because it/they are in use. As a result, the old partition(s) will remain in use. You should reboot now before making further changes. Ignore/Cancel? ignore
Étiquetage du nom sur la partition
Vous pouvez utiliser le "name
" pour renommer ou attribuer un nom à la partition. Le name
La commande accepte le numéro de partition comme premier argument suivi du nouveau nom.
(parted) name 2 p1
Ici, je change le nom de la partition 2 de project1 à p1 .
Redimensionner la partition
Vous pouvez réduire ou étendre la partition en utilisant le resizepart
commande. La commande resizepart
prend l'ID de la partition comme argument. Il vous demandera quelle devrait être la taille (Fin ?).
Réduisons la première partition que j'ai créée. L'ID de partition est 1 et la taille de la partition est de 10 Go . Ici, je réduis la partition à 5 Go .
(parted) resizepart 1
End? [10.0GB]? 5 GB
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? yes
J'ai ma deuxième partition avec 5 Go d'espace et je souhaite ajouter 2 Go supplémentaires et en faire 7 Go.
(parted) resizepart 2 End? [15.0GB]? 17GB
Maintenant, si j'imprime ma table de partition, ma première partition est réduite à 5 Go et la deuxième partition est étendue à 7 Go.
Number Start End Size File system Name Flags 1 1049kB 5000MB 4999MB ext4 p1 2 10.0GB 17.0GB 7000MB ext4 p2
Modifier les indicateurs de partition
Utilisation de l'set
commande, vous pouvez attribuer un indicateur à la partition. Pour obtenir la liste des indicateurs pris en charge, exécutez l'help
suivant commande.
(parted) help set
Supposons que si vous souhaitez marquer une partition en tant que partition de swap, vous devez exécuter la commande comme suit
set [partition name] [flag] [ON/OFF] (parted) set 1 swap ON
Créer un système de fichiers
Jusqu'à présent, vous avez appris à travailler avec parted pour effectuer différentes opérations de partition de disque. Comme vous le savez peut-être déjà, vous devez formater la partition et la monter pour commencer à utiliser la partition.
Vous pouvez vérifier les partitions créées en exécutant le lsblk
commande.
$ lsblk
Créons un système de fichiers de type ext4
pour /dev/sdc1
en exécutant la commande suivante.
$ mkfs.ext4 /dev/sdc1
Montez maintenant le système de fichiers dans n'importe quel répertoire comme vous le souhaitez et utilisez la partition.
$ mount /dev/sdc1 /mnt/
$ df -h /dev/sdc1 Filesystem Size Used Avail Use% Mounted on /dev/sdc1 4.6G 19M 4.3G 1% /mnt
Conclusion
Dans cet article, nous avons expliqué comment utiliser l'utilitaire parted pour créer et gérer des partitions de disque avec le programme Parted sous Linux. Nous avons également examiné comment formater les partitions nouvellement créées avec le système de fichiers ext4 et les monter dans notre système.
À partir de la version 8 de RHEL, Red Hat suggère d'utiliser l'utilitaire parted au lieu de fdisk. Donc, si vous êtes quelqu'un qui se prépare à la certification RHCSA, cet article vous sera d'une grande utilité.
Pour les utilisateurs de bureau Linux, il existe une version graphique de parted appelée GParted . Nous parlerons de Gparted en détail dans un article séparé bientôt. Restez à l'écoute !