Mise à jour : Debian 9.1
Par défaut, les modifications effectuées "en live" à partir des images Debian live standard ou personnalisées ne sont pas mémorisées. Lorsque le media utilisé est à lecture / écriture, cas des clés USBs, ce document décrit les 3 adaptations à effectuer pour que les modifications soient "persistantes" (permanentes) :
Création de la partition de persistance
Désignation des répertoires "persistants" (/home, etc....)
Ajout du paramètre de persistance dans la ligne de commande linux
Sommaire
La place restante sur la clé USB va être utilisée pour créer une partition pour la persistance.
Calculer l'espace restant sur la clé, et vérifier qu'il est suffisant en fonction de l'usage prévu
# fdisk -l /dev/sdb
Disque /dev/sdb : 1,9 GiB, 2004877312 octets, 3915776 secteurs
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 : 0x5c05cfcc
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 64 2245535 2245472 1,1G 17 Hidden HPFS/NTFS
Dans le cas présent, l'espace restant est de 0,8 GiB (1.9 Gib - 1,1 GiB)
Dans l'espace restant, créer une nouvelle partition ext 4 :
# fdisk /dev/sdb
Bienvenue dans fdisk (util-linux 2.25.2).
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 (1 primaire, 0 étendue, 3 libre)
e étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) : p
Numéro de partition (2-4, 2 par défaut) : 2
Premier secteur (2245536-3915775, 2246656 par défaut) :
Dernier secteur, +secteurs ou +taille{K,M,G,T,P} (2246656-3915775, 3915775 par défaut) :
Une nouvelle partition 2 de type « Linux » et de taille 815 MiB 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.
Note : Récapitulatif des saisies :
Commande : taper n pour nouvelle partition
Type de partition : taper sur la touche Entrée pour choix par défaut (partition primaire)
Numéro de partition : taper sur la touche Entrée pour choix par défaut (numéro 2)
Premier secteur : taper sur la touche Entrée pour choix par défaut (premier secteur disponible après la partition 1)
Dernier secteur : taper sur la touche Entrée pour choix par défaut (dernier secteur de la clé)
Commande : taper w pour écrire les modifications et quitter fdisk
Puis formater la partition en ext4 et lui attribuer l'étiquette "persistence" : Attention le nom du répertoire est imposé et l'orthographe est celle du mot anglais, différente de celle du mot français
# mkfs.ext4 -L persistence /dev/sdb2
Vérification :
# lsblk -f /dev/sdb
NAME FSTYPE LABEL UUID MOUNTPOINT
sdb iso9660 Debian jessie 20170114-16:35 2017-01-14-16-35-23-00
├─sdb2 ext4 persistence b05e12b7-7155-436f-880e-dcccbda84d94
└─sdb1 iso9660 Debian jessie 20170114-16:35 2017-01-14-16-35-23-00
Les répertoires dont on veut assurer la persistance doivent être listés dans un fichier dont le nom est imposé : "persistence.conf", situé à la racine de la partition "persistence".
Pour que toutes les modifications effectuées dans l'espace utilisateur soient mémorisées, de même que la plupart des modifications du système (mot de passe, ajout et mise à jour de paquets, ...), spécifier le répertoire racine (/) suivi de l'indication "union". Dans ces conditions, toutes les modifications (sauf celles affectant le répertoire lib et son contenu) seront mémorisées dans la partition "persistence". Pour ce faire :
Monter la partition et y placer le fichier persistence.conf :
# mount /dev/sdb2 /mnt
# echo "/ union" > /mnt/persistence.conf ### Attention au nom du répertoire, persistence.conf et non persistance.conf
Démonter la partition et arrêter le système.
# umount /mnt
# systemctl poweroff
Afin que la persistance soit prise en compte, le paramètre "persistence" (écrit avec l'orthographe anglaise et non française) doit-être présent dans la ligne de commande linux. Cet ajout peut-être effectué
soit à chaque démarrage, en éditant la ligne de commande
Démarrer sur la clé USB, puis dans le menu qui s'affiche, accédez à l'édition de la ligne de commande du noyau par la touche de Tabulation. Ajouter le paramètre "persistence" en plus des paramètres éventuels de choix de langue et de disposition de clavier :
> .linux /live/vmlinuz boot=live components quiet splash initrd=/live/initrd.img locales=fr_FR-UTF8 keyboard-layouts=fr persistence
La persistance sera active pour le démarrage en cours.
La modification de la ligne de commande est décrite dans Debian live personnalisée. Une fois la modification effectuée, la pesistance sera systématiquement active.
La persistance est également possible sur une partition chiffrée afin d'assurer la protection des données.
Référence : Manuel Debian Live
cryptsetup doit-être installé dans la distribution live.
Créer une partition pour la persistance comme pour indiqué plus haut. On suppose que la partition est /dev/sdb2.
Créer le container chiffré luks dans la partition /dev/sdb2 et définir le mot de passe :
# cryptsetup luksFormat -s 512 -h sha512 /dev/sdb2
Puis ouvrir le container, en lui donnant un nom arbitraire, par exemple, data
# cryptsetup luksOpen /dev/sdb2 data
Remplir le container de zéros :
# dd if=/dev/zero of=/dev/mapper/data
Formater le container et l'étiquetter en utilisant le mot persistence (orthographe anglaise du mot)
# mkfs.ext4 -L persistence /dev/mapper/data
Monter la partition chiffrée, par exemple en /mnt
# mount /dev/mapper/data /mnt
et ajouter le fichier persistence.conf comme pour une partition non chiffrée :
# echo "/ union" > /mnt/persistence.conf ### Attention au nom du répertoire, persistence.conf et non persistance.conf
Puis démonter la partition et redémarrer le système sur la clé usb.
# umount /mnt
# cryptsetup luksClose /dev/mapper/data
# reboot
Ajouter les paramètres persistence et persistence-encryption=luks au lieu de persistence seul dans la ligne de commande linux, comme pour une partition non chiffrée.
Pendant le démarrage, le mot de passe de déverrouillage du container sera demandé. L'utilisation sera ensuite transparente.
S'il est proposé d'ouvrir une partition chiffrée qui n'est pas la partition de persistance, sauter l'étape correspondante, jusqu'à ce que la partition attendue soit proposée.