🔎 
  
Manuel Live Systems

Personnalisation des comportements pendant l'exécution

Personnalisation des comportements pendant l'exécution

Toute la configuration qui est faite pendant l'exécution est faite par live-config. Voici quelques options parmi les plus courantes de live-config qui peuvent intéresser les utilisateurs. Une liste complète de toutes les possibilités peut être trouvée dans la page de manuel de live-config.

Personnalisation de l'utilisateur live

Une considération importante est que l'utilisateur live est créé par live-boot au démarrage, non pas par live-config pendant la construction. Cela influence non seulement l'emplacement où les documents relatifs à l'utilisateur live sont introduits dans la construction, tel que discuté dans Live/chroot local includes, mais aussi tous les groupes et autorisations associés à l'utilisateur live.

Vous pouvez indiquer d'autres groupes pour l'utilisateur live en utilisant une des possibilités pour configurer live-config. Par exemple, pour ajouter l'utilisateur live au groupe fuse, vous pouvez ajouter le fichier suivant dans config/includes.chroot/etc/live/config/user-setup.conf:

 LIVE_USER_DEFAULT_GROUPS="audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth fuse"  

ou utiliser live-config.user-default-groups=audio,cdrom,dip,floppy,video,plugdev,netdev,powerdev,scanner,bluetooth,fuse comme paramètre d'amorçage.

Il est également possible de changer le nom de l'utilisateur par défaut «user» et du mot de passe par défaut «live». Si vous voulez faire cela, vous pouvez le faire facilement comme suit:

Pour modifier le nom de l'utilisateur par défaut, vous pouvez simplement l'indiquer dans votre configuration:

 $ lb config --bootappend-live "boot=live components username=live-user"  

Une façon possible de changer le mot de passe par défaut est d'utiliser un hook comme décrit dans Hooks pendant le démarrage. Pour ce faire vous pouvez utiliser le hook “passwd” de /usr/share/doc/live-config/examples/hooks, ajouter un préfixe correct (par exemple 2000-passwd) et l'ajouter à config/includes.chroot/lib/live/config/

Personnalisation des paramètres régionaux et de la langue

Au démarrage du système live, la langue est impliquée dans deux étapes:

●  la génération des paramètres régionaux

●  le réglage de la disposition du clavier

Les paramètres régionaux par défaut pendant la construction d'un système Live sont locales=en_US.UTF-8. Pour définir les paramètres régionaux qui doivent être générés, utilisez le paramètre locales dans l'option --bootappend-live de lb config, par exemple

 $ lb config --bootappend-live "boot=live components locales=de_CH.UTF-8"  

Plusieurs paramètres régionaux peuvent être indiqués dans une liste séparée par des virgules.

Ce paramètre, ainsi que les paramètres de configuration du clavier indiqués ci-dessous, peut également être utilisé sur la ligne de commande du noyau. On peut indiquer des paramètres régionaux avec language_country (dans ce cas, le codage par défaut est utilisé) ou l'expression complète language_country.encoding. Une liste des paramètres régionaux et le codage pour chacun peuvent être trouvés dans /usr/share/i18n/SUPPORTED.

La configuration du clavier pour la console et pour X est faite par live-config en utilisant le paquet console-setup. Pour les configurer, utilisez les paramètres de démarrage keyboard-layouts, keyboard-variants, keyboard-options et keyboard-model avec l'option --bootappend-live. On peut trouver les options valides dans /usr/share/X11/xkb/rules/base.lst. Pour trouver les dispositions et les variantes correspondantes à une langue, essayez de rechercher le nom anglais de la nation où la langue est parlée, par exemple:

$ egrep -i '(^!|german.*switzerland)' /usr/share/X11/xkb/rules/base.lst
 ! model
 ! layout
   ch              German (Switzerland)
 ! variant
   legacy          ch: German (Switzerland, legacy)
   de_nodeadkeys   ch: German (Switzerland, eliminate dead keys)
   de_sundeadkeys  ch: German (Switzerland, Sun dead keys)
   de_mac          ch: German (Switzerland, Macintosh)
 ! option  

Chaque variante présente une description de la disposition appliquée.

Souvent, seule la disposition doit être configurée. Par exemple, pour obtenir les fichiers des paramètres régionaux de l'allemand et la disposition du clavier suisse allemand dans X, utilisez:

 $ lb config --bootappend-live "boot=live components locales=de_CH.UTF-8 keyboard-layouts=ch"  

Toutefois, pour les cas d'utilisation très spécifiques, on peut inclure d'autres paramètres. Par exemple, pour mettre en place un système français avec une disposition French-Dvorak (Bépo) avec un clavier USB TypeMatrix EZ-Reach 2030, utilisez:

 $ lb config --bootappend-live \
     "boot=live components locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-variants=bepo keyboard-model=tm2030usb"  

Plusieurs valeurs peuvent être indiquées dans des listes séparées par des virgules pour chacune des options keyboard-*, à l'exception de keyboard-model qui accepte une seule valeur. Veuillez consulter la page de manuel keyboard(5) pour plus de détails et des exemples des variables XKBMODEL, XKBLAYOUT, XKBVARIANT et XKBOPTIONS. Si plusieurs valeurs keyboard-variants sont données, elles seront jumelées une à une avec les valeurs keyboard-layouts (voir setxkbmap(1) option -variant). On peut utiliser des valeurs vides; par exemple pour régler deux dispositions, une par défaut US QWERTY et l'autre US Dvorak, utilisez:

 $ lb config --bootappend-live \
     "boot=live components keyboard-layouts=us,us keyboard-variants=,dvorak"  

Persistance

Le paradigme d'un Live CD est d'être un système pré-installé qui amorce sur un support en lecture seule, comme un cdrom, où les données et les modifications ne survivent pas aux redémarrages du matériel hôte qui l'exécute.

Un système live est une généralisation de ce paradigme et gère ainsi d'autres supports en plus de CDs. Malgré tout, dans son comportement par défaut, il doit être considéré en lecture seule et toutes les évolutions pendant l'exécution du système sont perdues à l'arrêt.

La «persistance» est un nom commun pour les différents types de solutions pour sauver, après un redémarrage, certaines ou toutes les données, de cette évolution pendant l'exécution du système. Pour comprendre comment cela fonctionne, il peut être utile de savoir que même si le système est démarré et exécuté à partir d'un support en lecture seule, les modifications des fichiers et répertoires sont écrites sur des supports inscriptibles, typiquement un disque ram (tmpfs) et les données des disques RAM ne survivent pas à un redémarrage.

Les données stockées sur ce disque virtuel doivent être enregistrées sur un support inscriptible persistant comme un support de stockage local, un partage réseau ou même une séance d'un CD/DVD multisession (ré)inscriptible. Tous ces supports sont pris en charge dans les systèmes live de différentes manières, et tous, à part le dernier, nécessitent un paramètre d'amorçage spécial à préciser au moment du démarrage: persistence.

Si le paramètre de démarrage persistence est réglé (et nopersistence n'est pas utilisé), les supports de stockage locaux (par exemple les disques durs, clés USB) seront examinés pour trouver des volumes persistants pendant le démarrage. Il est possible de limiter les types de volumes persistants à utiliser en indiquant certains paramètres de démarrage décrits dans la page de manuel live-boot(7). Un volume persistant est un des éléments suivants:

●  une partition, identifiée par son nom GPT.

●  un système de fichiers, identifié par son étiquette de système de fichiers.

●  un fichier image situé sur la racine d'un système de fichiers en lecture (même une partition NTFS d'un système d'exploitation étranger), identifié par son nom de fichier.

L'étiquette du volume pour les overlays doit être persistence mais elle sera ignorée à moins de contenir dans sa racine un fichier nommé persistence.conf qui est utilisé pour personnaliser entièrement la persistance du volume, c'est-à-dire indiquer les répertoires que vous voulez sauvegarder dans votre volume de persistance après un redémarrage. Voir Le fichier persistence.conf pour plus de détails.

Voici quelques exemples montrant comment préparer un volume à utiliser pour la persistance. Cela peut être, par exemple, une partition ext4 sur un disque dur ou sur une clé usb créée avec:

 # mkfs.ext4 -L persistence /dev/sdb1  

Voir aussi Utilisation de l'espace disponible sur une clé USB.

Si vous avez déjà une partition sur votre périphérique, vous pouvez simplement modifier l'étiquette avec l'un des exemples suivants:

 # tune2fs -L persistence /dev/sdb1 # for ext2,3,4 filesystems  

Voici un exemple montrant comment créer un fichier image avec un système de fichiers ext4 pour être utilisé pour la persistance:

 $ dd if=/dev/null of=persistence bs=1 count=0 seek=1G # for a 1GB sized image file
 $ /sbin/mkfs.ext4 -F persistence  

Une fois que le fichier image est créé, à titre d'exemple, pour rendre /usr persistant mais seulement enregistrer les modifications que vous apportez à ce répertoire et non pas tout le contenu de /usr, vous pouvez utiliser l'option «union». Si le fichier image se trouve dans votre répertoire personnel, copiez-le à la racine du système de fichiers de votre disque dur et montez-le dans /mnt comme suit:

 # cp persistence /
 # mount -t ext4 /persistence /mnt  

Ensuite, créez le fichier persistence.conf ajoutant du contenu et démontez le fichier image.

 # echo "/usr union" >> /mnt/persistence.conf
 # umount /mnt  

Maintenant, redémarrez dans votre support live avec le paramètre de démarrage “persistence”.

Le fichier persistence.conf

Un volume ayant l'étiquette persistence doit être configuré avec un fichier persistence.conf pour créer des répertoires persistants arbitraires. Ce fichier, situé sur le système de fichiers racine du volume, contrôle quels répertoires il rend persistants, et de quelle manière.

La façon de configurer les montages overlays est décrite en détail dans la page de manuel persistence.conf(5), mais un simple exemple devrait suffire pour la plupart des utilisations. Imaginons que nous voulions rendre notre répertoire personnel et APT cache persistants dans un système de fichiers ext4 sur la partition /dev/sdb1:

 # mkfs.ext4 -L persistence /dev/sdb1
 # mount -t ext4 /dev/sdb1 /mnt
 # echo "/home" >> /mnt/persistence.conf
 # echo "/var/cache/apt" >> /mnt/persistence.conf
 # umount /mnt  

Puis nous redémarrons. Lors du premier démarrage, les contenus du /home et /var/cache/apt seront copiés dans le volume persistant. À partir de ce moment, tous les changements dans ces répertoires seront stockés dans le volume persistant. Veuiller remarquer que les chemins répertoriés dans le fichier persistence.conf ne peuvent pas contenir d'espaces ou d'éléments spéciaux . et ... En outre, ni /lib, /lib/live (ou un de leurs sous-répertoires), ni / ne peuvent être rendus persistants en utilisant des montages personnalisés. Comme solution à cette limitation, vous pouvez ajouter / union à votre fichier persistence.conf pour obtenir une persistance complète.

Utilisation de plusieurs dispositifs de persistance

Il existe différentes méthodes d'utilisation de multiples dispositifs de persistance pour les différents cas d'utilisation. Par exemple, utiliser plusieurs dispositifs à la fois ou en sélectionner un seul, entre plusieurs, à des fins très spécifiques.

Plusieurs volumes overlays différents (avec leurs propres fichiers persistence.conf) peuvent être utilisés au même temps, mais si plusieurs volumes rendent le même répertoire persistant, un seul d'entre eux sera utilisé. Si les deux sont «imbriqués» (un est un sous-répertoire de l'autre) le premier sera monté avant le second de sorte qu'aucun ne sera caché par l'autre. Monter des éléments personnalisés imbriqués est problématique s'ils sont énumérés dans le même fichier persistence.conf. Voir la page de manuel persistence.conf(5) pour savoir comment gérer ce cas si vous en avez vraiment besoin (remarque: ce n'est généralement pas le cas).

Un cas d'utilisation possible: Si vous souhaitez stocker les données de l'utilisateur, c'est-à-dire /home et les données du superutilisateur, c'est-à-dire /root dans des partitions différentes, créer deux partitions avec l'étiquette persistence et ajouter un fichier persistence.conf dans chacun comme ça # echo “/home” > persistence.conf pour la première partition qui permettra de sauver les fichiers de l'utilisateur et # echo “/root” > persistence.conf pour la seconde partition qui permettra de stocker les fichiers du superutilisateur. Enfin, utiliser le paramètre d'amorçage persistence.

Si un utilisateur a besoin de stockages persistants multiples du même type pour différents endroits ou essais, tel que private et work, le paramètre de démarrage persistence-label utilisé en conjonction avec le paramètre de démarrage persistence permettra de multiples mais uniques supports persistants. Dans le cas où un utilisateur voudrait utiliser une partition persistante étiquetée private, pour des données personelles comme les marque-pages du navigateur ou d'autres types, il utiliserait les paramètres de démarrage: persistence persistence-label=private. Et pour stocker des données liées au travail, comme des documents, des projets de recherche ou d'autres types, il utiliserait les paramètres de démarrage: persistence persistence-label=work.

Il est important de se rappeler que chacun de ces volumes, private et work, a également besoin d'un fichier persistence.conf dans sa racine. La page de manuel live-boot contient plus d'informations sur la façon d'utiliser ces étiquettes avec des noms ancients.

Utilisation de la persistance avec chiffrement

Utiliser la persistance signifie que certaines données sensibles peuvent être exposées au risque. Surtout si les données persistantes sont stockées sur un dispositif portable tel qu'une clé USB ou un disque dur externe. C'est quand le chiffrement est plus pratique. Même si la procédure complète peut paraître compliquée en raison du nombre d'étapes à suivre, il est vraiment facile de manipuler des partitions chiffrées avec live-boot. Pour utiliser luks, qui est le type de chiffrement pris en charge, vous devez installer cryptsetup tant sur la machine avec laquelle vous créez la partition chiffrée et aussi dans le système live avec lequel vous allez utiliser la partition persistante chiffrée.

Pour installer cryptsetup sur votre machine:

 # apt-get install cryptsetup  

Pour installer cryptsetup dans votre système live, ajouter à vos listes de paquets:

 $ lb config
 $ echo "cryptsetup" > config/package-lists/encryption.list.chroot  

Une fois que vous avez votre système live avec cryptsetup, vous avez essentiellement besoin de créer une nouvelle partition, la chiffrer et démarrer avec les paramètres persistence et persistence-encryption=luks. Nous aurions pu déjà anticipée cette étape et ajoutée ces paramètres de démarrage selon la procédure habituelle:

 $ lb config --bootappend-live "boot=live components persistence persistence-encryption=luks"  

Allons dans les détails pour tous ceux qui ne connaissent pas bien le chiffrement. Dans l'exemple suivant, nous allons utiliser une partition sur une clé usb qui correspond au dispositif /dev/sdc2. S'il vous plaît être averti que vous devez déterminer quelle partition est celui que vous allez utiliser dans votre cas particulier.

La première étape est de brancher votre clé usb et de déterminer quel dispositif il est. La méthode recommandée pour lister les dispositifs dans live-manual est utiliser ls -l /dev/disk/by-id. Après cela, créer une nouvelle partition et la chiffrer avec un mot de passe comme suit:

 # cryptsetup --verify-passphrase luksFormat /dev/sdc2  

Ensuite, ouvrir la partition luks dans le mappeur de dispositifs virtuel. Utilisez n'importe quel nom que vous aimez. Nous utilisons live ici à titre d'exemple:

 # cryptsetup luksOpen /dev/sdc2 live  

La prochaine étape est de remplir le dispositif avec des zéros avant de créer le système de fichiers:

 # dd if=/dev/zero of=/dev/mapper/live  

Maintenant, nous sommes prêts à créer le système de fichiers. Notez que nous ajoutons l'étiquette persistence de sorte que le dispositif est monté en tant que magasin de persistance au moment du démarrage.

 # mkfs.ext4 -L persistence /dev/mapper/live  

Pour continuer avec notre configuration, nous avons besoin de monter le dispositif, par exemple dans /mnt.

 # mount /dev/mapper/live /mnt  

Et créer le fichier persistence.conf à la racine de la partition. Ceci est, comme expliqué précédemment, strictement nécessaire. Voir Le fichier persistence.conf.

 # echo "/ union" > /mnt/persistence.conf  

Puis, démontez le point de montage:

 # umount /mnt  

Et éventuellement, bien qu'il pourrait être un bon moyen de sécuriser les données que nous venons d'ajouter à la partition, nous pouvons fermer le dispositif:

 # cryptsetup luksClose live  

Résumons la procédure. Jusqu'ici nous avons créé un système capable d'utiliser le chiffrement, qui peut être copié sur une clé usb comme expliqué dans Copie d'une image ISO hybride sur une clé USB. Nous avons également créé une partition chiffrée, qui peut être située dans la même clé USB pour le porter autour et nous avons configuré la partition chiffrée pour être utilisée comme magasin de persistance. Alors maintenant, nous avons seulement besoin de démarrer le système live. Au moment du démarrage, live-boot nous demandera le mot de passe pour monter la partition chiffrée à être utilisé pour la persistance.



License: Ce programme est un logiciel libre; vous pouvez le redistribuer ou le modifier suivant les termes de la Licence Générale Publique GNU telle que publiée par la Free Software Foundation: soit la version 3 de cette licence, soit (à votre gré) toute version ultérieure.

Ce programme est distribué dans l’espoir qu’il vous sera utile, mais SANS AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ ni d’ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence Générale Publique GNU pour plus de détails.

Vous devriez avoir reçu une copie de la Licence Générale Publique GNU avec ce programme ; si ce n’est pas le cas, consultez http://www.gnu.org/licenses/.

Le texte complet de la Licence Générale Publique GNU peut être trouvé dans le fichier / usr/share/common-licenses/GPL-3


≅ SiSU Spine ፨ (object numbering & object search)

(web 1993, object numbering 1997, object search 2002 ...) 2023