GNU fdisk
GNU fdisk est un logiciel libre de partitionnement maintenu par le projet GNU. Il supporte le partitionnement GPT et MBR.
Développé par | Projet GNU |
---|---|
Dernière version | 2.0.0a1 ()[1] |
Écrit en | C |
Système d'exploitation | GNU/Linux et BSD (d) |
Environnement | GNU/Linux |
Type | Gestionnaire de partitions |
Licence | GNU GPL |
Site web | GNU fdisk |
Historique
Basé sur la bibliothèque logicielle libparted, fdisk vise à l'implémentation de divers outils de partitionnement Unix[2]. Elle implémente pour cela deux options de partitionnement, fdisk et cfdisk. Le projet prévoyait l'implémentation future d'autres options comme sfdisk, mac-fdisk d'Apple et FreeBSD fdisk. Toutes ces implémentations avaient un mode compatibilité et un mode GNU offrant des fonctionnalités supplémentaires.
Le code source a été entièrement réécrit pour la sortie d'une version alpha en permettant, comme GNU parted, l'implémentation d'interfaces graphiques[3]. Mais contrairement à parted, ces interfaces graphiques peuvent s'implémenter avec Guile; fdisk intègre en effet un interpréteur du langage Scheme (grâce à la bibliothèque « libguile »), ce qui lui permet l'export de symboles (en) pour la gestion des partitions et du stockage d'information.
Composantes techniques
Le cœur du projet est écrit en langage C et se compose de cinq bibliothèques logicielles et d'un exécutable en ligne de commande :
- libgnufdisk-common, une bibliothèque générique;
- libgnufdisk-debug, une bibliothèque pour la gestion des messages d'alerte ou d'information;
- libgnufdisk-exception, une autre pour gérer les exceptions;
- libgnufdisk-device, une autre fournissant une interface commune aux unités de stockage et la gestion de modules externes;
- libgnufdisk-devicemanager, une autre pour gérer les unités de stockage, les erreurs, et communiquer avec l'interface utilisateur;
- libgnufdisk-userinterface, bibliothèque contenant un interpréteur Scheme et transmettant des requêtes aux implémentations de la précédente bibliothèque.
La gestion des opérations inhérentes au partitionnement se trouve dans des modules séparés. Chaque module se charge dynamiquement lorsqu'une table de partitions est créée.
Le projet dispose d'une interface en ligne de commande (commande gnufdisk).
Notes et références
- (en) « GNU Fdisk 2.0.0a1 released! », (consulté le )
- (en) « GNU Fdisk 1.2.5 released », savannah.gnu.org, 15 mai 2011.
- (en) « GNU Fdisk rewritten from scratch! », savannah.gnu.org, 10 octobre 2011.