Debian Live Manual

À 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 patches
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 paquets officiels inchangés
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 Depuis le référentiel Debian
3.2.2 Depuis le code source
3.2.3 À partir des instantanés
3.3 live-boot et live-config
3.3.1 Depuis le référentiel Debian
3.3.2 Depuis le code source
3.3.3 À partir des instantanés

4. Les bases

4.1 Qu'est-ce qu'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'un 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 USB/HDD
4.6 Utiliser une image USB/HDD
4.6.1 Test d'une image USB/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 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 Utilisez auto pour gérer les modifications de configuration
6.2 Exemples de scripts auto

7. Vue d'ensemble de la personnalisation

7.1 Configuration pendant la construction vs. le démarrage
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 Référentiels additionnels
8.2 Choisir les paquets à installer
8.2.1 Choisir un certain nombre de paquets
8.2.2 Listes de paquets
8.2.3 Listes de paquets prédéfinies
8.2.4 Listes de paquets locaux
8.2.5 Listes locaux de paquets binaires
8.2.6 Extension d'un liste de paquets fournis à l'aide de «includes»
8.2.7 Utilisant des conditionnels dans les listes de paquets
8.2.8 Tâches
8.2.9 Tâches de bureau et de la langue
8.3 Installation des paquets modifiés ou de tiers
8.3.1 Utilisant chroot_local-packages pour installer paquets personnalisés
8.3.2 Utilisant un référentiel 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 Régler APT pour économiser de l'espace
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.1.3 Binary 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 la langue
10.3 Persistance
10.3.1 Persistance pleine
10.3.2 Montage automatique de Home
10.3.3 Instantanés
10.3.4 SubText persistant
10.3.5 Remasterisation partielle

11. Customizing the binary image

11.1 Bootloader
11.2 ISO metadata

12. Customizing Debian Installer

12.1 Types of Debian Installer
12.2 Customizing Debian Installer by preseeding
12.3 Customizing Debian Installer content

Projet

13. Reporting bugs

13.1 Known issues
13.2 Rebuild from scratch
13.3 Use up-to-date packages
13.4 Collect information
13.5 Isolate the failing case if possible
13.6 Use the correct package to report the bug against
13.6.1 At build time whilst bootstrapping
13.6.2 At build time whilst installing packages
13.6.3 At boot time
13.6.4 At run time
13.7 Do the research
13.8 Where to report bugs

14. Coding Style

14.1 Compatibility
14.2 Indenting
14.3 Wrapping
14.4 Variables
14.5 Miscellaneous

15. Procedures

15.1 Udeb Uploads
15.2 Major Releases
15.3 Point Releases
15.3.1 Point release announcement template

Exemples

16. Examples

16.1 Using the examples
16.2 Tutorial 1: A standard image
16.3 Tutorial 2: A web browser utility
16.4 Tutorial 3: A personalized image
16.4.1 First revision
16.4.2 Second revision
16.5 A VNC Kiosk Client
16.6 A base image for a 128M USB key
16.7 A localized KDE desktop and installer

Debian Live Manual

Utilisateur

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

Toute la configuration qui est fait pendant l'exécution est fait 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 ajoutez la ligne suivante à un fichier dans le répertoire config/chroot_local-preseed:

   user-setup passwd/user-default-groups string audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth fuse

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

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

  • la génération des paramètres régionaux
  • réglage de la disposition du clavier pour la console
  • réglage de la disposition du clavier pour X
  • 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 "locales=de_CH.UTF-8"

    Ce paramètre peut également être utilisé à la ligne de commande du noyau. Vous pouvez spécifier des paramètres régionaux par language_country.encoding.

    Tant la console et la configuration du clavier X dépendent du paramètre keyboard-layouts de l'option --bootappend-live. Options valides pour les dispositions des claviers X peuvent être trouvés dans /usr/share/X11/xkb/rules/base.xml (plutôt limitées à des codes des pays à deux lettres). Pour trouver la valeur (les deux caractères), correspondant à une langue essayez de rechercher le nom anglais de la nation où la langue est parlée, par exemple:

       $ grep -i sweden -C3 /usr/share/X11/xkb/rules/base.xml | grep name
       <name>se</name>

    Pour obtenir les fichiers des paramètres régionaux pour les claviers allemand et suisse allemand dans X utiliser:

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

    Une liste des valeurs valides des claviers pour la console peut être figuré avec la commande suivante:

       $ for i in $(find /usr/share/keymaps/ -iname "*kmap.gz"); \
           do basename $i | head -c -9; echo; done | sort | less

    Alternativement, vous pouvez utiliser le paquet console-setup, un outil pour vous permettre de configurer la disposition de la console en utilisant définitions X (XKB), vous pouvez alors définir votre clavier plus précisément avec variables keyboard-layouts, keyboard-variant, keyboard-options et keyboard-model; live-boot pourra également utiliser ces paramètres pour la configuration de X. Par exemple, pour mettre en place un système français avec une disposition Français Dvorak (appelée Bepo) sur un clavier TypeMatrix, à la fois dans la console et X11, utilisez:

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

    10.3 Persistance

    Un paradigme d'un Live CD est être un système pré-installé qui se démarre du 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 d'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 pourrait fonctionner il pourrait ê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 un disque dur, une clé USB, 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 mais le dernier nécessitent un paramètre de démarrage spéciale à préciser au moment du démarrage: persistent.

    10.3.1 Persistance pleine

    Par «persistance pleine» on entend que plutôt que d'utiliser un tmpfs pour le stockage des modifications au support en lecture seule (avec le système copy-on-write, COW) une partition accessible en écriture est utilisée. Pour utiliser cette fonction une partition avec un système de fichiers accessible en écriture avec l'étiquette "live-rw" doit être fixé sur le système au moment du démarrage et le système doit être démarré avec le paramètre de démarrage "persistent". Cette partition peut être une partition ext2 du disque dur ou sur une clé USB créé avec, par exemple:

       # mkfs.ext2 -L live-rw /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 live-rw /dev/sdb1 # for ext2,3,4 filesystems

    Mais puisque les utilisateurs du système live ne peuvent pas toujours utiliser une partition du disque dur, et considérant que la plupart des clés USB ont des vitesses d'écriture pauvres, «pleine» persistance pourrait également être utilisé avec des fichiers image, si vous pouviez créer un fichier qui représente une partition et mettre cette image fichier, même sur une partition NTFS d'un système d'exploitation étranger, avec quelque chose comme:

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

    Ensuite, copiez le fichier live-rw sur une partition accessible en écriture et redémarrer avec le paramètre de démarrage "persistent".

    10.3.2 Montage automatique de Home

    Si lors de l'initialisation une partition (système de fichiers) un fichier image ou une partition étiquetée home-rw est découverte, ce système de fichiers sera monté directement comme /home, permettant ainsi la persistance des fichiers qui appartiennent à l'utilisateur par défaut. Elle peut être combinée avec la persistance complète.

    10.3.3 Instantanés

    Les instantanés sont des collections de fichiers et de répertoires qui ne sont pas montés lors de l'exécution, mais qui sont copiés à partir d'un périphérique persistant à le système (tmpfs) au démarrage et qui sont resynchronisés au redémarrage/arrêt du système. Le contenu d'un instantané pourrait résider sur une partition ou un fichier image (comme les types mentionnés ci-dessus) étiquetés live-sn, mais il est par défaut à une archive cpio simple appelé live-sn.cpio.gz. Comme ci-dessus, au moment du démarrage, les périphériques connectés à le système sont examinés pour voir si une partition ou un fichier nommé comme ça pourrait être trouvé. Une coupure de courant pendant l'exécution pourrait conduire à la perte de données, donc un outil appelé live-snapshot --refresh pourrait être appelé à synchroniser des changements importants. Ce type de persistance, car elle n'écrit pas continuellement dans les supports persistants, est le plus respectueux avec les dispositifs flash et le plus rapide de tous les systèmes de persistance.

    Une version instantané de /home existe aussi, et son étiquette est home-sn.*; elle travaille le même que l'instantané principale, mais il est seulement appliquée à /home.

    Les instantanés ne peuvent pas actuellement gérer la suppression de fichiers, mais la persistance pleine et le montage automatique de home si peuvent le faire.

    10.3.4 SubText persistant

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

    10.3.5 Remasterisation partielle

    Les modifications de l'exécution du tmpfs pourraient être recueillies à l'aide de live-snapshot dans une squashfs et ajoutés au CD en remasterisant l'ISO dans le cas des CD-R ou en ajoutant une session à un cd/dvd(rw) multisession; live-boot monte tous les systèmes de fichiers /live dans l'ordre ou avec le paramètre de démarrage du module.