Créer un disque à l'aide d'un fichier
Généralités
Un Système de fichiers permet de gérer des fichiers au sein d'un dossier qui peut lui même appartenir à un autre dossier, le dossier ultime hiérarchiquement est nommé dossier racine en anglais root directory. Un “Système de fichiers” est l'ensemble des fonctionnalités permettant de gérer ses fichiers indépendamment des contraintes physiques du disque (secteurs,tête de lecture, etc).
Linux permet de formater différents types de disques pour les adapter à ses systèmes de fichiers. Dans cet article nous aborderons le cas de la création d'un disque à l'aide d'un fichier d'une taille de 1Go formaté en ext4
Réalisation d'un fichier disque
Tout d'abord il faut se placer dans le dossier où l'on va créer ce fichier.
cd /tmp
Ensuite on lui donne un nom explicite disque_1Go.bin et on lui fixe sa taille tout cela grâce à la commande dd
- taille dimension maximale du fichier
- if input file ⇔ entrée , dans notre cas /dev/zero est un générateur de valeurs nulles
- of output file ⇔ sortie , nom du fichier à créer
- bs block size ⇔ taile des blocs (gestion interne), lecture/écriture par 1024 octecs
- count compteur ⇔ taille effective consommée par le fichier créé, rempli de zéros ( en nombre de blocs )
- seek demander ⇔ réserver un nombre d'octets max pour le fichier créé ( en nombre de blocs )
nb_blocs=$[1024*1024] dd if=/dev/zero of=disque_1G.bin bs=1024 count=0 seek=$nb_blocs # comme le bloc vaut 1024 et et le nombre de blocs vaut 1024*1024 la taille finale sera bien de 1024*1024*1024 soit un gigaoctet
Le fichier disque_1G.bin est créé mais ne peut pas être considéré comme un disque, il faut pour cela utiliser la commande mkfs.ext4 pour le formater en etx4
mkfs.ext4 disque_1G.bin
Après formatage le fichier disque_1G.bin peut être considéré comme un disque. Pour l'utiliser, comme tout disque, il faut le “monter” c'est à dire l'associer à un dossier du système de fichiers courant. Dans notre cas on crée un dossier “disque” dans /tmp
mkdir /tmp/disque # création du dossier ls -al /tmp/disque # visualisation contenu du dossier : vide ! mount disque_1G.bin /tmp/disque # montage en tant que dique du fichier disque_1G.bin "sur" le dossier /tmp/disque ls -al /tmp/disque # visualisation contenu du dossier : lost+found apparait ! ce dossier à été créé lors du formatage, est réservé à Linux pour gérer ce disque...
Remarques
- Les données de ce “disque” sont logiquement accessibles par le dossier /tmp/disque et sont réellement dans le fichier disque_1G.bin et cela tant-que le montage est en place.
- Pour démonter le disque il suffit de passer la commande :
umount /tmp/disque # Après cette commande on retrouve /tmp/disque tel qu'il était avant le montage !
- Le fichier disque_1G.bin est illisible tel quel, il faut le remonter pour pouvoir exploiter ses données contenues.