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 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 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 Utiliser 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. 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 Listes de paquets prédéfinies
8.2.3 Listes de paquets locaux
8.2.4 Listes locaux de paquets binaires
8.2.5 Extension d'un liste de paquets fournis à l'aide de «includes»
8.2.6 Utilisant des conditionnels dans les listes de paquets
8.2.7 Tâches
8.2.8 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 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 de la langue
10.3 Persistance
10.3.1 Couches de persistance pleine
10.3.2 Couches personnalisées
10.3.3 Instantanés
10.3.4 SubText persistant
10.3.5 Remasterisation partielle

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 200-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 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. Les 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), correspondante à 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 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"

    Une liste des valeurs valides des claviers pour la console peut être figurée 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 aider à 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 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 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 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. 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/archive situé sur la racine de tout 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, "<label>.ext4".
  • 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). Les "étiquettes d'identification" mentionnées ci-dessus peuvent être un des éléments suivants:

  • full-ov pour couches de persistance pleine.
  • custom-ov pour couches personalisées
  • live-sn pour instantanés du système complet.
  • home-sn pour instantanés du /home.
  • 10.3.1 Couches de persistance pleine

    Par «persistance pleine» on entend que au lieu d'utiliser un tmpfs pour le stockage des modifications dans le support en lecture seule (avec le système copy-on-write, COW) une partition accessible en écriture est utilisée. Pour ce type de persistance le nom du volume doit être full-ov. Cela pourrait, par exemple, être une partition ext4 sur un disque dur ou sur une clé usb créée avec, par exemple:

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

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

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

    Ensuite, copiez le fichier full-ov sur une partition accessible en écriture et redémarrer.

    10.3.2 Couches personnalisées

    Un volume avec l'étiquette custom-ov 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 custom-ov /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 d'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 custom mounts (pour ce dernier, utilisez la persistance full-ov décrite ci-dessus).

    Plusieurs volumes de couches personnalisées différents (avec leurs propres fichiers live-persistence.conf) peuvent être utilisées 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.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 volume doit être étiqueté live-sn. Il est par défaut une simple archive cpio appelée live-sn.cpio.gz. 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é pour synchroniser des changements importants. Ce type de persistance, car elle n'écrit pas continuellement dans les supports persistants, est la plus respectuese avec les dispositifs flash et la plus rapide de tous les systèmes de persistance, mais elle occupe autant RAM que la taille de l'instantané non compressée.

    Une version d'instantané de /home existe aussi, et son étiquette est home-sn.*; elle fonctionne le même que l'instantané principal, mais c'est seulement appliqué à /home.

    Les instantanés ne peuvent pas actuellement gérer la suppression de fichiers.

    10.3.4 SubText persistant

    Si un utilisateur a besoin de stockages persistants multiples du même type pour différents endroits ou l'essai, tel que full-ov-nonwork et full-ov-work, le paramètre de démarrage persistence-subtext 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 live-sn-subText il utiliserait les paramètres de démarrage: persistence persistence-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ées 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.