Comment utiliser la commande mkfs sous Linux

Vous devez créer un système de fichiers avant de pouvoir utiliser un périphérique de stockage de données connecté à un ordinateur Linux. Apprenez à utiliser mkfs et d’autres utilitaires pour faire exactement cela pour toutes sortes de systèmes de fichiers. Nous vous montrons comment.

mkfs crée des systèmes de fichiers

La commande mkfs crée des systèmes de fichiers. Sur d’autres systèmes d’exploitation, la création d’un système de fichiers s’appelle mise en page. Quel que soit son nom, c’est le processus qui prépare une partition pour qu’elle puisse stocker des données. La partition a besoin d’un moyen de stocker des fichiers, oui. Mais il a également besoin d’un mécanisme pour stocker les noms et les emplacements de ces fichiers, ainsi que leurs métadonnées telles que l’horodatage de création du fichier, l’horodatage modifié du fichier, la taille du fichier, etc. Une fois que mkfs a créé le cadre nécessaire pour gérer et stocker les métadonnées de fichiers, vous pouvez commencer à ajouter des fichiers à la partition.

La syntaxe est très simple. Vous indiquez simplement à mkfs la partition de périphérique sur laquelle vous souhaitez créer le système de fichiers et le type de système de fichiers souhaité. C’est à première vue. Dans les coulisses, c’est un peu différent. Depuis un certain temps, sur la plupart des distributions Linux, mkfs est un emballage pour mke2fs. La commande mkfs appelle la commande mke2fs et lui transmet les options que vous avez spécifiées. Pauvre vieux mke2fs fait tout le travail mais n’obtient rien de la gloire.

La syntaxe de mkfs a été mise à jour et l’ancien format est obsolète. Les deux formulaires fonctionneront, mais nous utiliserons le style moderne dans cet article.

Le choix des systèmes de fichiers

La façon moderne d’utiliser mkfs est de taper «mkfs». puis le nom du système de fichiers que vous souhaitez créer.

Pour voir les systèmes de fichiers que mkfs peut créer, tapez «mkfs», puis appuyez deux fois sur la touche Tab. Il n’y a pas d’espace après «mkfs», appuyez simplement sur Tab deux fois.

Liste des systèmes de fichiers pris en charge dans une fenêtre de terminal

La liste des systèmes de fichiers disponibles s’affiche dans la fenêtre du terminal. La capture d’écran provient d’Ubuntu 18.04 LTS. D’autres distributions peuvent offrir plus ou moins d’options. Nous allons les parcourir et les décrire brièvement. Après un petit mot sur la journalisation.

La journalisation est un concept important dans les systèmes de fichiers. Les systèmes de fichiers enregistrent le fichier en attente écrit dans un journal. Lorsque chaque fichier est écrit, le journal est mis à jour et les enregistrements d’écriture en attente sont mis à jour. Cela permet au système de fichiers de réparer les fichiers endommagés et partiellement écrits qui se sont produits en raison d’un événement catastrophique tel qu’une coupure de courant. Certains des anciens systèmes de fichiers ne prennent pas en charge la journalisation. Ceux qui ne le font pas écrivent moins fréquemment sur le disque car ils n’ont pas besoin de mettre à jour le journal. Ils peuvent fonctionner plus rapidement, mais ils sont plus sujets aux dommages dus à des écritures de fichiers interrompues.

  Créez des images GIF avec YouTube et ajoutez-y du texte

Ext2: Le tout premier système de fichiers pour Linux était le système de fichiers MINIX. Il a ensuite été remplacé par le premier système de fichiers jamais écrit spécifiquement pour Linux, qui était Ext. Ext2 était Successeur d’Ext. Ext2 n’est pas un système de fichiers journalisé.
Ext3: C’était le successeur d’Ext2, et peut être considéré comme Ext2 avec journalisation, qui protège votre système de fichiers de la corruption des données causée par des pannes et des coupures de courant soudaines.
Ext4: Ext4 est le système de fichiers standard pour les distributions Linux de mai. C’est un système de fichiers solide, éprouvé et fiable. Il a des caractéristiques qui réduire la fragmentation des fichiers et peut être utilisé avec des lecteurs, des partitions et des fichiers plus volumineux que Ext3.
BFS: C’est le Système de fichiers de démarrage, qui est conçu pour un travail et un seul: pour gérer les fichiers dans la partition de démarrage. Il est rare que vous créiez un système de fichiers de démarrage à la main. Votre processus d’installation Linux le fera pour vous.
FAT: Le Table d’allocation des fichiers Le système de fichiers a été conçu pour les disquettes par un consortium de poids lourds de l’industrie informatique. Il a été introduit en 1977. La seule raison pour laquelle vous utiliseriez ce système de fichiers non journalisé est la compatibilité avec les systèmes d’exploitation non Linux.
NTFS: Le Système de fichiers de nouvelle technologie est un système de fichiers de journalisation Microsoft introduit avec Windows NT. C’était le successeur de FAT. La seule raison pour laquelle vous utiliseriez ce système de fichiers est la compatibilité avec les systèmes d’exploitation non Linux.
MINIX: créé à l’origine par Andrew S. Tanenbaum comme aide pédagogique, MINIX est un système d’exploitation «mini-Unix». De nos jours, il vise à fournir un système d’exploitation autoréparable et tolérant aux pannes. Le système de fichiers MINIX a été conçu comme un version simplifiée du système de fichiers Unix. Peut-être que si vous développez de manière croisée sur un ordinateur Linux et que vous ciblez une plate-forme MINIX, vous pouvez utiliser ce système de fichiers. Ou peut-être avez-vous besoin d’une compatibilité avec un ordinateur MINIX pour d’autres raisons. Les cas d’utilisation de ce système de fichiers sur un ordinateur Linux ne me sautent pas aux yeux, mais il est disponible.
VFAT: Table d’allocation de fichiers virtuels, a été introduit avec Windows 95 et a supprimé la limite de huit caractères pour les noms de fichiers. Des noms de fichiers jusqu’à 255 caractères sont devenus possibles. La seule raison pour laquelle vous utiliseriez ce système de fichiers est la compatibilité avec les systèmes d’exploitation non Linux.
CRAMFS: Le Système de fichiers ROM compressé est un système de fichiers en lecture seule conçu pour les systèmes embarqués et les utilisations spécialisées en lecture seule, comme dans les processus de démarrage des ordinateurs Linux. Il est courant d’avoir un petit système de fichiers transitoire chargé en premier afin que les processus d’amorçage puissent être lancés pour préparer le montage du «vrai» système d’amorçage.
MSDOS: le système de fichiers du Système d’exploitation de disque Microsoft. Sorti en 1981, c’est un système de fichiers élémentaire qui est aussi basique que possible. La première version n’avait même pas de répertoires. Il occupe une place prépondérante dans l’histoire de l’informatique mais, au-delà de la compatibilité avec les systèmes hérités, il y a peu de raisons de l’utiliser aujourd’hui.

  Comment contrôler le Chromecast avec Google TV avec votre téléphone

Une manière sûre d’expérimenter les systèmes de fichiers

La création d’un système de fichiers sur une partition est destructrice pour toutes les données qui pourraient déjà résider sur cette partition. L’utilisation d’un disque dur de rechange – ou même d’un ordinateur de rechange – est le moyen idéal pour expérimenter la création et l’utilisation de différents systèmes de fichiers. Mais bien sûr, beaucoup de gens n’ont pas de matériel de rechange qui attendent d’être expérimentés.

Cependant, nous pouvons créer un fichier image et créer des systèmes de fichiers à l’intérieur. Une fois que nous l’avons monté, nous pouvons l’utiliser comme s’il s’agissait d’une partition normale. Nous pouvons explorer et expérimenter des systèmes de fichiers sans avoir besoin de matériel de rechange. Nous utiliserons la commande dd pour créer notre fichier image.

Le fichier image est créé en prenant des données source et en les plaçant dans une image. Nous devons dire à dd où obtenir ses données source. Nous utiliserons l’option if (fichier d’entrée) pour dire à dd d’utiliser / dev / zéro comme source de données d’entrée. Ce sera un flot de zéros.

L’option of (fichier de sortie) nous permet de donner un nom au fichier image. Nous l’appellerons «howtogeek.img».

La taille du fichier image est déterminée par la taille et le nombre de blocs que nous y ajoutons. Nous utilisons l’option bs (taille de bloc) pour demander une taille de bloc de 1 Mo et l’option count pour demander 250 blocs. Cela nous donnera un système de fichiers de 250 Mo. Lorsque vous exécutez cette commande, ajustez le nombre de blocs en fonction de vos besoins et de la capacité de réserve dont vous disposez sur votre ordinateur Linux.

dd if=/dev/zero of=~/howtogeek.img bs=1M count=250

jj si = / dev / zéro de = ~ / howtogeek.img bs = 1M compte = 250

Le fichier est créé pour nous et dd signale que 250 blocs ont été créés pour nous, comme demandé.

Sortie de la commande dd dans une fenêtre de terminal

Nous pouvons regarder notre fichier image avec ls:

ls -hl

ls -hl dans une fenêtre de terminal

C’est 250 Mo comme prévu, ce qui est encourageant.

Création du système de fichiers

Choisissons un système de fichiers à utiliser. Nous remonterons le temps et utiliserons Ext2, qui est la première version d’Ext que cette implémentation de mkfs peut créer. Il s’agit d’un système de fichiers non journalisé, donc ne stockez rien de précieux sans avoir de sauvegardes ailleurs. Nous utilisons la variante mkfs.ext2 de la commande mkfs et nous lui disons d’utiliser notre fichier image comme cible.

mkfs.ext2 ~/howtogeek.img

mkfs.ext2 ~ / howtogeek.img dans une fenêtre de terminal

Le système de fichiers est créé et certains détails du système de fichiers sont affichés.

  Comment déplacer des applications vers l'écran d'accueil et la bibliothèque d'applications sur iPhone

Sortie de la commande mkfs.ext2 dans une fenêtre de terminal

Comme vous pouvez le voir sur le texte en surbrillance, mke2fs fait une apparition.

Nous avons maintenant un conteneur pour le système de fichiers – le fichier image – qui remplace un disque dur dans ce scénario. À l’intérieur de ce conteneur, nous avons créé un système de fichiers. Nous devons maintenant monter le système de fichiers pour pouvoir l’utiliser.

Ceci est une configuration temporaire, nous allons donc faire un point de montage dans / mnt appelé « geek ». Nous le supprimerons lorsque nous aurons terminé.

sudo mkdir /mnt/geek

mkfs.ext2 ~ / howtogeek.img dans une fenêtre de terminal

Nous pouvons maintenant monter notre fichier image.

sudo mount ~/howtogeek.img /mnt/geek

mkfs.ext2 ~ / howtogeek.img dans une fenêtre de terminal

Nous devons changer le propriété du fichier du point de montage afin que nous y ayons accès en lecture et en écriture.

sudo chown dave:users /mnt/geek/

sudo chown dave: users / mnt / geek / dans une fenêtre de terminal

Et maintenant, nous devrions pouvoir utiliser notre nouveau système de fichiers. Passons au système de fichiers et copions-y quelques fichiers.

cd /mnt/geek
cp ~/Documents/Code/*.? .

cp ~ / Documents / Code / *.? . dans une fenêtre de terminal

Cela copiera tous les fichiers avec une extension à une seule lettre du répertoire ~ / Documents / Code vers notre nouveau système de fichiers. Vérifions qu’ils ont été copiés.

ls

ls dans une fenêtre de terminal

Les fichiers ont été copiés, donc notre système de fichiers a été créé, monté et utilisé. Ou alors nous pensons. Revérifions. De notre répertoire personnel, nous démonterons le système de fichiers. Notez qu’il n’y a qu’un seul «n» dans monter.

sudo umount /mnt/geek

sudo umount / mnt / geek dans une fenêtre de terminal

Maintenant, si nous revenons à / mnt / geek et vérifions les fichiers, nous ne devrions pas en trouver car ils sont à l’intérieur de notre fichier image, et cela a été démonté.

cd /mnt/geek
ls

cd / mnt / geek dans une fenêtre de terminal

Exploration plus approfondie

Maintenant que le processus est terminé, essayer un autre système de fichiers devrait être facile. Nous utiliserons le système de fichiers MINIX cette fois. Dans notre répertoire personnel, nous pouvons créer un nouveau système de fichiers dans notre fichier image existant.

Faites attention! S’il y a des fichiers importants sur le système de fichiers dans le fichier image, montez le fichier image et récupérez-les avant de créer un nouveau système de fichiers.

mkfs.minix ~/howtogeek.image

mkfs.minix ~ / howtogeek.image dans une fenêtre de terminal

Sans le moindre signe de vous demander «si vous êtes sûr», le nouveau système de fichiers est créé sur l’ancien. Nous pouvons monter notre fichier image avec exactement la même commande que précédemment:

sudo mount ~/howtogeek.img /mnt/geek

sudo mount ~ / howtogeek.img / mnt / geek dans une fenêtre de terminal

Passons au nouveau système de fichiers à / mnt / geek et voyons si nous pouvons créer un fichier.

touch geek.txt

touchez geek.txt dans une fenêtre de terminal

ls -ahl geek.txt

ls -ahl geek.txt dans une fenêtre de terminal

Et, aussi simplement et aussi rapidement que cela, nous avons créé un nouveau système de fichiers, l’avons monté et nous pouvons l’utiliser.

Suppression du point de montage

Lorsque vous avez terminé, nous pouvons supprimer le point de montage «geek». Pour ce faire, nous utiliserons rmdir:

cd /mnt
sudo rmdir geek

sudo rmdir geek dans une fenêtre de terminal

Jongler avec le feu

Avec Linux, comme pour la plupart des choses, vous apprenez en faisant. Le problème avec certaines commandes est qu’elles sont potentiellement destructrices. Le dilemme est de savoir comment s’entraîner à les utiliser sans mettre en danger votre système ou vos données?

Vous disposez maintenant d’une méthode simple pour créer et tester des systèmes de fichiers avec mkfs qui laisse votre ordinateur intact.