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 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 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

Projet

14. Style du code

Ce chapitre documente le style du code utilisé en live-boot et autres.

14.1 Compatibilité

  • Ne pas utiliser une syntaxe ou sémantique qui soit unique à le shell Bash. Par exemple, l'utilisation d'arrays.
  • N'utiliser que le sous-ensemble POSIX - par exemple, utiliser $(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 '.
  • 14.2 Indentation

  • Toujours utiliser des tabulations en lieu des espaces.
  • 14.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
    }

    14.4 Variables

  • Les variables sont toujours en lettres majuscules.
  • Les variables utilisées dans lb config 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; par exemple écrire ${FOO} au lieu de $FOO.
  • Toujours protéger les variables avec guillemets pour respecter les espaces potentiels: écrire "${FOO}" en lieu de ${FOO}.
  • Pour des raisons de cohérence, toujours utiliser les guillemets lors de l'attribution des valeurs aux variables:
  • Mal:

    FOO=bar

    Bien:

    FOO="bar"

  • Si plusieurs variables sont utilisées, utiliser 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

    14.5 Autres

  • Utilisez "|" (sans les guillemets autour) comme séparateur dans les appels à sed, par exemple "sed -e 's|foo|bar|'" (sans" ").
  • Ne pas utiliser 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; ...".
  • Utiliser case dans la mesure du possible en lieu de test, parce qu'il est plus facile à lire et plus rapide en l'exécution.
  • Utilisez noms en majuscule pour les fonctions pour éviter toute interférence avec l'environnement des utilisateurs.