====== Construire un LiveUSB avec persistance des données ======
* Objet : Construire un LiveUSB avec persistance des données
* Niveau requis :{{tag>débutant avisé}}
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
* Suivi : {{tag>à-tester}}
* Création par [[user>deuchdeb]] le 23/07/2010
* Mise à jour par [[user>arpinux]] le 21/05/2023
* Testé par .... le ....
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=148282#p148282 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
===== Présentation =====
Un live Debian ou dérivé accepte l'option de persistance. Cette option vous permettra de conserver vos réglages, vos données et vos logiciels entre deux sessions live. Pour utiliser la persistance, vous devez créer une partition à côté de celle utilisée par l'ISO, lui assigner un point de montage et préciser au live l'utilisation de cette option.
===== Pré-requis =====
Pour commencer, il faut bien évidemment un Live Debian ou dérivé. Vous pouvez choisir un Live Debian officiel ou créer vous-même un Live :
* Debian Live officiel : https://www.debian.org/CD/live/index.fr.html
* Debian Live avec les non-free : https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/current-live/amd64/iso-hybrid/
* Debian Live personnalisé : https://debian-facile.org/doc:install:live-build
Une fois votre Live téléchargé ou créé, vous devez le transférer sur une clé USB.
==== Rappel : procédure de transfert de l'ISO sur USB ====
Le transfert se fera via le Terminal, c’est la méthode recommandée. Toutefois, une [[doc:environnements:gnome:gnome-disk-utility#graver-une-iso-sur-cle-usb|méthode graphique]] est disponible sur ce wiki. Vous pouvez aussi utiliser l'application multi-plateforme [[https://etcher.balena.io/|Etcher]].
Pour commencer, branchez votre clé USB, puis lancez un terminal en mode administrateur “root”. Nous allons identifier la clé USB à utiliser grâce à la commande ''blkid'' qui vous donnera un résultat du type :
blkid
/dev/sda1: LABEL="system" UUID="3d378712-1b6e-4f66-b9e8-2a6673c62199" TYPE="ext4"
/dev/sda5: UUID="65bdec62-8d0e-49ca-b70b-c99340e4ee5e" TYPE="swap"
/dev/sdb1: UUID="F9B8-E691" TYPE="vfat"
Ici, notre clé est identifiée comme UUID=“F9B8-E691”, est formatée en “vfat” et contient la partition sdb1. Notez bien ce sdb1 pour ne pas, par erreur, effacer une partition de votre disque dur interne (ici sda1).
Placez-vous dans le dossier contenant votre ISO (à adapter à votre configuration) :
cd $HOME/ma_debian_perso/
Transférer le contenu de l’ISO sur la clé USB grâce à la commande “dd”. Prenez bien soin de nommer la clé USB “sdb” et pas sdb1, car c’est le disque qui compte, pas la partition et changez “ma_debian.iso” par le nom de votre Live :
dd if=ma_debian.iso of=/dev/sdb bs=4M status=progress; sync
Le temps de transfert sur votre clé USB dépend de la taille de l’ISO et du taux de transfert de votre port USB. Cette opération peut durer 10 à 15 minutes (la progression de la copie s’affiche dans le terminal). Le terminal vous “rendra la main” une fois le transfert terminé.
===== Création de la partition de persistance =====
Une fois l'image ISO transférée sur la clé USB, il faut utiliser la place restante. Pour vérifier qu'il reste assez de place, lister les partitions de la clé USB en mode administrateur (ici avec /dev/sdb à adapter à votre situation) :
fdisk -l /dev/sdb
Qui devrait vous renvoyer un résultat de ce type :
fdisk -l /dev/sdb
Disque /dev/sdb : 3,8 GiB, 4040724480 octets, 7892040 secteurs
Modèle de disque : USB2FlashStorage
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0xbd512129
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sdb1 * 64 1302527 1302464 636M 0 Vide
/dev/sdb2 6060 11755 5696 2,8M ef EFI (FAT-12/16/32)
Dans notre exemple, il reste 3,1G (3,8G - 636M). Il faut maintenant créer la partition de persistance avec fdisk en mode administrateur :
fdisk /dev/sdb
Bienvenue dans fdisk (util-linux 2.33.1).
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.
Commande (m pour l'aide) : n
Type de partition
p primaire (2 primaire, 0 étendue, 2 libre)
e étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) : p
Numéro de partition (3,4, 3 par défaut) : 3
Premier secteur (1302528-7892039, 1302528 par défaut) :
Dernier secteur, +/-secteurs ou +/-taille{K,M,G,T,P} (1302528-7892039, 7892039 par défaut) :
Une nouvelle partition 3 de type « Linux » et de taille 3,1 GiB a été créée.
Commande (m pour l'aide) : w
La table de partitions a été altérée.
Appel d'ioctl() pour relire la table de partitions.
Synchronisation des disques.
Explications des commandes effectuées :
* commande : n pour "nouvelle partition"
* type de partition : p pour "primaire"
* numéro de partition : ici 3 (les deux premières partitions étant utilisées)
* premier et dernier secteur : par défaut pour occuper toute la place disponible
* commande : w pour "write", écrire la table de partition
===== Formatage de la partition de persistance =====
La partition de persistance doit être formatée en ext4 en mode administrateur avec le label "persistence" (en anglais) grâce à le commande ''mkfs.ext4'' :
mkfs.ext4 -L persistence /dev/sdb3
mke2fs 1.44.5 (15-Dec-2018)
En train de créer un système de fichiers avec 823689 4k blocs et 206336 i-noeuds.
UUID de système de fichiers=455c4996-16eb-4dbe-82da-b7f1ebd13e7e
Superblocs de secours stockés sur les blocs :
32768, 98304, 163840, 229376, 294912, 819200
Allocation des tables de groupe : complété
Écriture des tables d'i-noeuds : complété
Création du journal (16384 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété
Pour vérifier la partition créée avec la commande ''lsblk'' :
lsblk -f /dev/sdb
NAME FSTYPE LABEL UUID
sdb iso9660 debian-11.7 2020-12-03-02-12-29-00
├─sdb1 iso9660 debian-11.7 2020-12-03-02-12-29-00
├─sdb2 vfat debian-11.7 9EC9-9685
└─sdb3 ext4 persistence 455c4996-16eb-4dbe-82da-b7f1ebd13e7e
===== Définition du point de montage =====
Il faut désormais définir un point de montage afin que la partition de persistance soit reconnue et activée lors de l'utilisation du Live.\\
Pour plus de facilité, prendre la racine du système Live. Ainsi, toute modification effectuée en session live sera prise en compte.
* Montage de la partition et mise en place du fichier de configuration en root :
mount /dev/sdb3 /mnt/
echo "/ union" > /mnt/persistence.conf
* Démontage de la partition en root :
umount /mnt
Et voilà, votre clé USB est prête à l'emploi.
===== Utilisation du Live en mode persistant =====
Votre clé est prête pour la persistance des données. Pour l'utiliser, au moment du menu de démarrage, presser la touche Tab pour "Tabulation" afin d'éditer la ligne de commande du lancement du live. il faut ajouter "persistence" (en anglais) aux options présentes ainsi :
boot=live components quiet splash persistence
Et voilà :-)
===== Précautions d'emploi =====
**__Attention :__** la persistance des données est très pratique car elle vous permet de garder votre Live à jour et de conserver vos téléchargements, vos modifications.\\
Cela dit, si vous perdez votre clé USB, la personne qui la trouve pourra consulter votre historique web, vos mots de passe et toutes les données que vous avez ajouté ou modifié.