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 Ce qui ne va pas 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 qu'un système live?
4.2 Téléchargement des images précompilées
4.3 Utiliser le constructeur web d'images live
4.3.1 Utilisation du constructeur web et avertissements
4.4 Premières étapes: la construction d'une image ISO hybride
4.5 Utilisation d'une image ISO hybride live
4.5.1 Graver une image ISO sur un support physique
4.5.2 Copie d'une image ISO hybride sur une clé USB
4.5.3 Utilisation de l'espace disponible sur une clé USB
4.5.4 Démarrer le support live
4.6 Utiliser une machine virtuelle pour les tests
4.6.1 Test d'une image ISO avec QEMU
4.6.2 Test d'une image ISO avec virtualbox
4.7 Construire et utiliser une image HDD
4.8 Construction d'une image netboot
4.8.1 Serveur DHCP
4.8.2 Serveur TFTP
4.8.3 Serveur NFS
4.8.4 Guide pratique pour expérimenter avec une image Netboot
4.8.5 Qemu

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 Gérer les modifications de la configuration
6.1.1 Pourquoi utiliser des scripts auto? Que font-ils?
6.1.2 Utiliser les scripts auto d'exemple
6.2 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, zones d'archive et mode
8.1.2 Miroirs de distribution
8.1.3 Miroirs de distribution utilisés lors de la construction
8.1.4 Miroirs de distribution utilisés pendant 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 Utilisation des métapaquets
8.2.3 Listes de paquets locaux
8.2.4 Listes de paquets locaux pour l'étape binary
8.2.5 Listes de paquets générées
8.2.6 Utiliser des conditions dans les listes de paquets
8.2.7 Tâches de bureau et de langue
8.2.8 Version et type de noyau
8.2.9 Noyaux personnalisés
8.3 Installation de paquets modifiés ou tiers
8.3.1 Utiliser packages.chroot pour installer des 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 pendant 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.2 Hooks
9.2.1 Live/chroot local hooks
9.2.2 Hooks pendant le démarrage
9.2.3 Binary local hooks
9.3 Préconfigurer questions de debconf

10. Personnalisation des comportements pendant 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 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 du contenu pour l'installateur Debian

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

Projet

13. Contribuer au projet

13.1 Faire des changements

14. Signaler des bogues

14.1 Problèmes connus
14.2 Reconstruire à partir de zéro
14.3 Utiliser des paquets mis à jour
14.4 Recueillir l'information
14.5 Isoler le cas qui échoue, si possible
14.6 Utiliser le paquet adéquat pour rapporter un bogue
14.6.1 Pendant construction durant l'amorçage
14.6.2 Pendant la construction durant l'installation de paquets
14.6.3 Pendant le démarrage
14.6.4 Pendant l'exécution
14.7 Effectuer une recherche
14.8 Où rapporter les bogues

15. Style du code

15.1 Compatibilité
15.2 Indentation
15.3 Adaptateur
15.4 Variables
15.5 Autres

16. Procédures

16.1 Évolutions majeures
16.2 Évolutions mineures
16.2.1 Dernière évolution mineure d'une version Debian
16.2.2 Modèle pour l'annonce d'une évolution mineure

17. Dépôts Git

17.1 Gestion de multiples dépôts

Exemples

18. Exemples

18.1 Utiliser les exemples
18.2 Tutoriel 1: Une image par défaut
18.3 Tutoriel 2: Un utilitaire d'un navigateur Web
18.4 Tutoriel 3: Une image personnalisée
18.4.1 Première révision
18.4.2 Deuxième révision
18.5 Un client kioske VNC
18.6 Une image de base pour une clé USB de 128 Mo
18.7 Un bureau GNOME localisé avec un installateur

Appendix

18.8 Guidelines for authors
18.8.1 Linguistic features
18.8.2 Procedures
18.9 Guidelines for translators
18.9.1 Translation hints

Manuel Debian Live

Projet

15. Style du code

Ce chapitre documente le style du code utilisé dans Debian Live.

15.1 Compatibilité

  • N'utilisez pas une syntaxe ou sémantique qui soit unique au shell Bash. Par exemple, l'utilisation de tableaux (arrays).
  • N'utilisez que le sous-ensemble POSIX − par exemple, utilisez $(foo) au lieu de `foo`.
  • Vous pouvez vérifier vos scripts avec 'sh -n' et 'checkbashisms'.
  • Assurez-vous que tout le code fonctionne avec 'set-e '.
  • 15.2 Indentation

  • Utilisez toujours des tabulations au lieu des espaces.
  • 15.3 Adaptateur

  • Généralement, les lignes sont de 80 caractères au maximum.
  • Utilisez le «style Linux» des sauts de ligne:
  • Mal:

    if foo; then
             bar
    fi

    Bien:

    if foo
    then
             bar
    fi

  • La même chose vaut pour les fonctions:
  • Mal:

    Foo () {
             bar
    }

    Bien:

    Foo ()
    {
             bar
    }

    15.4 Variables

  • Les variables sont toujours en lettres majuscules.
  • Les variables utilisées dans live-build commencent toujours par le préfixe LB_.
  • Les variables temporaires internes dans live-build devraient commencer avec le préfixe _LB_.
  • Les variables locales commencent avec le préfixe __LB_.
  • Les variables en relation avec un paramètre de démarrage dans live-config commencent par LIVE_.
  • Toutes les autres variables dans live-config commencent par le préfixe _.
  • Utilisez des accolades autour des variables; écrivez par exemple ${FOO} au lieu de $FOO.
  • Protégez toujours les variables avec des guillemets pour respecter les espaces potentiels: écrire "${FOO}" en lieu de ${FOO}.
  • Pour des raisons de cohérence, utilisez toujours les guillemets lors de l'attribution des valeurs aux variables:
  • Mal:

    FOO=bar

    Bien:

    FOO="bar"

  • Si plusieurs variables sont utilisées, utilisez les guillemets pour l'expression complète:
  • Mal:

    if [ -f "${FOO}"/foo/"${BAR}"/bar ]
    then
             foobar
    fi

    Bien:

    if [ -f "${FOO}/foo/${BAR}/bar" ]
    then
             foobar
    fi

    15.5 Autres

  • Utilisez "|" (sans les guillemets autour) comme séparateur dans les appels à sed, par exemple "sed -e 's|foo|bar|'" (sans" ").
  • N'utilisez pas la commande test pour des comparaisons ou des tests, utilisez "[" "]" (sans ""); par exemple "if [ -x /bin/foo ]; ..." et non pas "if test -x /bin/foo; ...".
  • Utilisez case dans la mesure du possible au lieu de test, parce qu'il est plus facile à lire et plus rapide à exécuter.
  • Utilisez des noms en majuscule pour les fonctions pour éviter toute interférence avec l'environnement des utilisateurs.