Bienvenue dans mon /dev/null

Préparation d'une clef USB pour faire des sauvegardes (1/3)

Publié le: par Au_Hasard

Mis à jour le: • 6 min de lecture

moo à toi,

Contexte

Je vais me servir d’une clef USB pour faire les sauvegardes du blog. Sachant que c’est une clef USB qui a pas mal été utilisé par le passé. Je vais la préparer et programmer une vérification et éventuellement une réparation du système de fichier.

Présentation

Pour ça, je vais récupérer des informations avec la commande lsblk, faire une partition primaire sur la clef avec fdisk au format linux pour préparer la partition au formatage en ext4 avec la commande mkfs.ext4. Je vais ensuite configurer le fichier /etc/fstab pour que la clef soit reconnue par le système à chaque redémarrage et pour récupérer les bonnes infos, j’utiliserai blkid.

Ensuite, je te montrerai dans un autre post, le petit script bash pour vérifier la clef et planifierai son exécution.

3 petites choses : - Je vais ajouter des commentaires sur les lignes de commande où dans les résultats des commandes, les commentaires seront identifiable par #. - Il faudra que tu personnalises certaines commander pour ça, je vais l’indiquer entre crochet : <valeur à changer> - Si tu as des messages d’erreurs qui indique des soucis de droits sur les commandes, lance les commandes avec sudo devant pour les exécuter en tant que root.

Cambouis

Préparation_de_la_clef_USB

Identification

Pour identifier la clef USB branchée sur le système, il faut lancer la commande lsblk.

Ce qui donne quelque comme ceci :

lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0         7:0    0  905M  0 loop
sda           8:0    1 14.5G  0 disk # Ici, c'est ma clef USB, on peut la reconnaitre à sa taille 14.5Go et par élimination des autres éléments ci-dessous.
mmcblk0     179:0    0 29.7G  0 disk # Ici, c'est le périphérique de mon système qui contient les deux partitions ci-dessous
├─mmcblk0p1 179:1    0  512M  0 part /boot/firmware # Ici, on voit `mmcblk0p1`, c'est la partition primaire N°1 qui contient `/boot/firmware`
└─mmcblk0p2 179:2    0 29.2G  0 part / # Ici, c'est la partition primaire N°2 et contient `/`, c'est la racine de mon système donc pas touche.
zram0       254:0    0  905M  0 disk [SWAP]

Si tu n’as pas de partition sur ton périphérique de stockage, tu auras le même résultat que moi. Si il y a des partitions présentes ou plusieurs, tu verras quelques choses qui ressemble à ceci au niveau de ta clef :

sda           8:0   1 14.5G  0 disk
└─sda1        8:1   1 14.5G  0 part
# sda2 … si tu as une deuxième partition

[!NOTE] Ici, le nom du périphérique est /dev/sda mais il est possible que le nom de ton périphérique se présente sous ce nom /dev/nvme0n1. Pour la petite explication :  /dev/sdX -> Périphérique connecté sur une interface SATA où SCSI /dev/nvm0nX -> Périphérique connecté sur une interface NVMe

Maintenant, que tu as fais cette commande, note le nom de ton stockage. Pour moi, ça sera /dev/sda. Si tu as des partitions, tu peux prendre un de tes partitions par exemple /dev/sda1 pour y mettre tes sauvegardes. Je ferai surement un post sur la gestion de disques et donc des partitions.

Création de la partition

sudo fdisk /dev/<clef usb>
Welcome to fdisk (util-linux 2.41).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS (MBR) disklabel with disk identifier 0x0e166dae.

Command (m for help): n # Touche `n` pour la création d'une nouvelle partition
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): # Je ne mets rien parce que par défaut, il fera une partition primaire

Using default response p.
Partition number (1-4, default 1): # Pareil, je ne mets rien, ça sera la partition primaire N°1.
First sector (2048-30326783, default 2048): # Je laisse aussi par défaut pour que la partition commence au début de la clef USB
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-30326783, default 30326783): # Et pour finir, je laisse vide encore pour que la partition aille jusqu'au dernier secteur.

Created a new partition 1 of type 'Linux' and of size 14.5 GiB. #La partition est directement de type `Linux`.

Command (m for help): w #Attention, c'est ici que je valide l'écriture sur le périphérique si vous n'êtes pas sur, ne valider pas avec `w`.
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Formater la clef

On va maintenant formater la nouvelle partition de la clef au bon format.

[!WARNING] Le formatage va écraser l’index de ta partition USB donc tu n’auras plus accès aux données dessus, pense à vérifier qu’il n’y a rien d’important sur ta clef.

On va prendre le format ext4, c’est le format classique sous nunux et donc on lance la commande suivante :

mkfs.ext4 /dev/<partition>
mke2fs 1.47.2 (1-Jan-2025)
Creating filesystem with 3790592 4k blocks and 948416 inodes
Filesystem UUID: 4e0e3caa-0c7f-451e-912f-468a38891b9f
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

Voila ta partition USB est formaté en ext4.

/etc/fstab

Récupération des informations

[!IMPORTANT] Si tu as plusieurs périphériques de stockages branché sur ton ordinateur, il faut savoir qu’au démarrage, le nom des périphériques est donné dans l’ordre de réponses des périphériques. Donc si ta clef réponds vite, elle sera en /dev/sda mais si ton autre périphérique réponds plus vite, ta clef sera en /dev/sdb.

Pour pallier à ce petit soucis, on va récupérer l’UUID de ta clef qui lui ne change jamais.

Pour ça, on va lancer la commande suivante :

blkid | grep sda # On fait un pipe (|) pour que le résultat de `blkid` soit l'entrée de la commande suivante, c'est à dire `grep` qui sert à chercher et là, on cherche notre clef `sda`.
/dev/sda: UUID="c3cd90u2-433d-4ba6-9X55-85338871903c" BLOCK_SIZE="4096" TYPE="ext4"

Je te laisse noter ton UUID.

Choix du répertoire

Pour que la clef soit accessible, on va demander à ce que le contenu de /dev/sda soit dans un répertoire accessible par notre utilisateur. Sachant que pour moi la clef est là pour les backups, je vais créer un répertoire dans le home de mon utilisateur pour accueillir le contenu de la clef :

mkdir ~/backups #mkdir pour make directory, ça créé un répertoire, le tilde (~), c'est un raccourci pour dire mon home et `backups` le nom du répertoire.

Modification du fichier

Ensuite pour la modification on ne va pas s’embêter, on va lancer la commande suivante à personnaliser avec tes éléments:

echo 'UUID="<UUID>" /home/<utilisateur·ice>/<repertoire> ext4 defaults 0 2' >> /etc/fstab # On reviendra sur `/etc/fstab` dans un autre post.

Maintenant pour que systemd sache que le fichier à été changé, il faut taper cette commande :

sudo systemctl daemon-reload

Et pour finir :

mount -a #Cette commande va lire le contenu de `/etc/fstab` et monter les lecteurs.

Ton périphérique est maintenant monté sur le répertoire que tu as indiqué. /

Tu peux le vérifier en tapant la commande :

df -f /home/<utilisateur·ice>/repertoire

Tu devrais voir ton périphérique monté dans ton répertoire.

Tu peux maintenant aller dans ton répertoire pour écrire sur ton stockage :

cd /home/<utilisateur·ice>/<repertoire>