Manuel Debian Live

À propos

1. À propos de ce manuel

1.1 Pour les impatients
1.2 Terminologie
1.3 Auteurs
1.4 Contribuer à ce document
1.4.1 Appliquer des modifications
1.4.2 Traduction

2. À propos du projet Debian Live

2.1 Motivation
2.1.1 Quel est le problème avec les systèmes live actuels
2.1.2 Pourquoi créer notre propre système live?
2.2 Philosophie
2.2.1 Seulement des paquets inchangés de Debian «main»
2.2.2 Pas de configuration des paquets du système live
2.3 Contact

Utilisateur

3. Installation

3.1 Exigences
3.2 Installation de live-build
3.2.1 À partir du dépôt Debian
3.2.2 À partir du code source
3.2.3 À partir des instantanés
3.3 Installation de live-boot et live-config
3.3.1 À partir du dépôt Debian
3.3.2 À partir du code source
3.3.3 À partir des instantanés

4. Les bases

4.1 Qu'est-ce c'est un système live?
4.2 Premières étapes: la construction d'une image ISO hybride
4.3 Utilisation d'une image ISO hybride live
4.3.1 Graver une image ISO sur un support physique
4.3.2 Copie d'une image ISO hybride sur une clé USB
4.3.3 Démarrer le support live
4.4 Utiliser une machine virtuelle pour les tests
4.4.1 Test d'une image ISO avec QEMU
4.4.2 Test d'une image ISO avec virtualbox-ose
4.5 Construction d'une image HDD
4.6 Utiliser une image HDD
4.6.1 Test d'une image HDD avec Qemu
4.6.2 Utilisation de l'espace disponible sur une clé USB
4.7 Construction d'une image netboot
4.7.1 Serveur DHCP
4.7.2 Serveur TFTP
4.7.3 Serveur NFS
4.7.4 Guide pratique pour expérimenter avec une image Netboot
4.7.5 Qemu
4.7.6 VMWare Player

5. Aperçu des outils

5.1 Le paquet live-build
5.1.1 La commande lb config
5.1.2 La commande lb build
5.1.3 La commande lb clean
5.2 Le paquet live-boot
5.3 Le paquet live-config

6. Gestion d'une configuration

6.1 Traiter les modifications de configuration
6.1.1 Pourquoi utiliser des scripts auto? Que font-ils?
6.2 Utilisez scripts auto d'exemple
6.3 Cloner une configuration publiée via Git

7. Vue d'ensemble de la personnalisation

7.1 Configuration pendant la construction vs. l'amorçage
7.2 Étapes de la construction
7.3 Supplément lb config avec des fichiers
7.4 Tâches de personnalisation

8. Personnalisation de l'installation de paquets

8.1 Sources des paquets
8.1.1 Distribution, archive areas et mode
8.1.2 Miroirs de distribution
8.1.3 Miroirs de distribution utilisés au temps de construction
8.1.4 Miroirs de distribution utilisés au moment de l'exécution
8.1.5 Dépôts additionnels
8.2 Choisir les paquets à installer
8.2.1 Listes de paquets
8.2.2 Using metapackages
8.2.3 Listes de paquets locaux
8.2.4 Listes locaux de paquets binaires
8.2.5 Générer listes de paquets
8.2.6 Utilisant des conditionnels dans les listes de paquets
8.2.7 Tâches de bureau et de la langue
8.3 Installation des paquets modifiés ou de tiers
8.3.1 Utilisant packages.chroot pour installer paquets personnalisés
8.3.2 Utiliser un dépôt APT pour installer des paquets personnalisés.
8.3.3 Les paquets personnalisés et APT
8.4 Configuration d'APT au moment de la construction
8.4.1 Choisir apt ou aptitude
8.4.2 Utilisation d'un proxy avec APT
8.4.3 Tweaking APT to save space
8.4.4 Passer des options à apt ou aptitude
8.4.5 APT pinning

9. Personnalisation des contenus

9.1 Includes
9.1.1 Live/chroot local includes
9.1.2 Binary local includes
9.2 Hooks
9.2.1 Live/chroot local hooks
9.2.2 Hooks au moment du démarrage
9.2.3 Binary local hooks
9.3 Préconfigurer questions de debconf

10. Personnalisation des comportements au moment de l'exécution

10.1 Personnalisation de l'utilisateur Live
10.2 Personnalisation des paramètres régionaux et de la langue
10.3 Persistance
10.3.1 Le fichier live-persistence.conf
10.3.2 Utilisation de plusieurs dispositifs de persistance

11. Personnalisation de l'image binaire

11.1 Chargeur d'amorçage
11.2 Métadonnées ISO

12. Personnalisation de l'installateur Debian

12.1 Types de l'installateur Debian
12.2 Personnalisation de l'installateur Debian par préconfiguration
12.3 Personnalisation de contenu pour l'Installateur Debian

Projet

13. Rapporter des bogues

13.1 Problèmes connus
13.2 Reconstruire à partir de zéro
13.3 Utilisez paquets mis à jour
13.4 Recueillir l'information
13.5 Isoler le cas qui échoue, si possible
13.6 Utilisez le paquet adéquat pour rapporter le bogue
13.6.1 Au moment de la construction tandis l'amorçage
13.6.2 Au moment de la construction tandis l'installation de paquets
13.6.3 Au moment du démarrage
13.6.4 Au moment de l'exécution
13.7 Faire les recherches
13.8 Où rapporter les bogues

14. Style du code

14.1 Compatibilité
14.2 Indentation
14.3 Adaptateur
14.4 Variables
14.5 Autres

15. Procédures

15.1 Télécharger Udebs
15.2 Évolutions majeures
15.3 Èvolutions mineures
15.3.1 Dernière évolution mineure d'une version Debian
15.3.2 Modèle pour l'annonce d'une évolution mineure

Exemples

16. Exemples

16.1 En utilisant les exemples
16.2 Tutorial 1: Une image standard
16.3 Tutoriel 2: Un utilitaire de navigateur Web
16.4 Tutoriel 3: Une image personnalisée
16.4.1 Première révision
16.4.2 Deuxième révision
16.5 Un client Kiosk VNC
16.6 Une image de base pour une clé USB de 128M
16.7 Un bureau KDE localisé et installateur

Appendix

17. Style guide

17.1 Guidelines for authors
17.1.1 Linguistic features
17.1.2 Procedures
17.2 Guidelines for translators
17.2.1 Translation hints

Manuel Debian Live

Utilisateur

10. Personnalisation des comportements au moment de l'exécution

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

10.1 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 au moment de la construction. Ça influence non seulement là où les documents relatifs à l'utilisateur live sont introduits dans votre construction, tel que discuté dans Live/chroot local includes, mais aussi tous les groupes et les autorisations associées à l'utilisateur live.

Vous pouvez spécifier d'autres groupes pour l'utilisateur live en préconfigurant la valeur debconf passwd/user-default-groups. Par exemple, pour ajouter l'utilisateur live au groupe fuse pendant l'étape chroot, ajoutez la ligne suivante à un fichier dans le répertoire config/chroot_local-preseed:

$ lb config
$ echo user-setup passwd/user-default-groups string audio cdrom \
   dip floppy video plugdev netdev powerdev scanner bluetooth fuse \
   >> config/preseed/my.preseed.chroot

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 pour quelque raison, vous pouvez facilement faire ça comme suit:

Pour modifier le nom de l'utilisateur par défaut, vous pouvez simplement le spécifier dans votre config:

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

Une façon possible de changer le mot de passe par défaut est au moyen d'un hook comme décrit dans Hooks au moment du 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/

10.2 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, utiliser le paramètre locales dans l'option --bootappend-live de lb config, par exemple

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

    Multiples paramètres régionaux peuvent être spécifiés en 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 spécifier des paramètres régionaux avec language_country (dans ce cas le codage par défaut est utilisé) ou l'expression complete 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, utiliser les paramètres de démarrage keyboard-layouts, keyboard-variants, keyboard-options et keyboard-model avec l'option --bootappend-live. On peut trouver options valides dans /usr/share/X11/xkb/rules/base.lst. Pour trouver les dispositions el 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, seulement 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 utiliser:

    $ lb config --bootappend-live "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 (Bepo) avec un clavier USB TypeMatrix EZ-Reach 2030, utiliser:

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

    Plusieurs valeurs peuvent être spécifiées séparées par des virgules pour chacune des options keyboard-*, à l'exception de keyboard-model, qui accepte une seule valeur. S'il vous plaît voir 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 tête à tête avec les valeurs keyboard-layouts voir setxkbmap(1) option -variant). On peut utiliser des valeurs vides; par exemple pour regler deux dispositions, une par défaut US QWERTY et l'autre US Dvorak, utiliser:

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

    10.3 Persistance

    Un paradigme d'un Live CD est ê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 Debian Live est une généralisation de ce paradigme et soutient ainsi autres supports, en plus de CDs, mais encore, 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 perdus à 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, la modification des fichiers et répertoires sont écrits sur des supports inscriptibles, typiquement un disque ram (tmpfs) et aux disques RAM les données 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 supports de stockage locaux, 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 Debian Live de différentes manières, et tous, moins le dernier, nécessitent un paramètre d'amorçage spéciale à 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 spécifiant 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. Dans ce cas, le nom du fichier doit contenir le nom du système de fichiers comme extension, par exemple, "persistence.ext4".
  • L'étiquette du volume pour les couches de persistence doit être persistence. Et afin de personnaliser entièrement la persistance du volume il doit y avoir un fichier nommé live-persistence.conf. Voir Le fichier live-persistence.conf

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

    # 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 dispositif, vous pouvez simplement modifier l'étiquette avec l'un des suivants:

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

    Voici un exemple de comment créer un fichier image ext4 utilisé pour la persistance:

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

    Ensuite, copiez le fichier persistence à la racine d'une partition accessible en écriture.

    10.3.1 Le fichier live-persistence.conf

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

    Comment on configure monter des couches personnalisées est décrit en détail dans la page de manuel live-persistence.conf(5), mais un simple exemple devrait être suffisant pour la plupart des utilisations. Imaginons que nous voulons faire 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/live-persistence.conf
    # echo "/var/cache/apt" >> /mnt/live-persistence.conf

    Alors nous redémarrons. Lors du premier démarrage les contenus du /home et /var/cache/apt seront copiés dans le volume persistant, et à partir de ce moment tous les changements dans ces répertoires seront stockés dans le volume persistant. S'il vous plaît souligner que les chemins d'accès aux répertoriés dans le fichier live-persistence.conf ne peuvent pas contenir des espaces blancs ou les éléments spéciaux . et ... En outre, ni /live (ou un de ses sous-répertoires), ni / peuvent être rendus persistants en utilisant montages personnalisés.

    Plusieurs volumes de couches personnalisées différents (avec leurs propres fichiers live-persistence.conf) peuvent être utilisés au même temps, mais si plusieurs volumes font 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 que le secondaire de sorte que aucun 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 live-persistence.conf. Voir la page de manuel live-persistence.conf(5) pour savoir comment gérer ce cas, si vous avez vraiment besoin (remarque: vous n'avez généralement pas).

    10.3.2 Utilisation de plusieurs dispositifs de persistance

    Si un utilisateur a besoin de stockages persistants multiples du même type pour différents endroits ou l'essai, tel que persistence-nonwork et persistence-work, le paramètre de démarrage persistence-label utilisé en conjonction avec le paramètre de démarrage persistence permettra multiples, mais uniques, supports persistants. Un exemple serait le cas si un utilisateur voudrait utiliser une partition persistante étiquetée persistence-subText il utiliserait les paramètres de démarrage: persistence persistence-label=subText.