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

8. Personnalisation de l'installation de paquets

La personnalisation la plus fondamentale d'un système Debian Live peut-être la sélection de paquets à inclure dans l'image. Ce chapitre vous guide tout au long des différentes options dans certains moments de la construction pour personnaliser l'installation des paquets avec live-build. Le plus large choix influençant les paquets qui sont disponibles pour l'installation dans l'image sont les zones de distribution et les sections (archive areas). Afin de garantir des vitesses de téléchargement décentes, vous devez choisir un miroir de distribution proche. Vous pouvez également ajouter vos propres dépôts pour les backports, paquets expérimentaux ou personnalisés, ou inclure des paquets directement en tant que fichiers. Vous pouvez définir vos propres listes de paquets à inclure, utiliser des listes prédéfinies de live-build, utiliser tâches tasksel, ou une combinaison des trois. Enfin, un certain nombre d'options donnent un certain contrôle sur apt, ou si vous préférez, aptitude, au moment de la construction quand les paquets sont installés. Vous pouvez trouver ces très pratique si vous utilisez un proxy, vous voulez désactiver l'installation des paquets recommandés pour économiser l'espace, ou avez besoin de contrôler quels versions des paquets sont installés via APT pinning, pour n'en nommer quelques possibilités.

8.1 Sources des paquets

8.1.1 Distribution, archive areas et mode

La distribution que vous choisissez a le plus large impact sur les paquets qui sont disponibles à inclure dans votre image live. Indiquez le nom de code, qui est par défaut wheezy pour la version de live-build dans wheezy. Toute distribution actuelle dans l'archive Debian peut être spécifié par son nom de code ici. (Voir Termes pour plus de détails.) L'option --distribution non seulement influence la source des paquets dans l'archive, mais aussi dit live-build comme it doit construire chaque distribution soutenue. Par exemple, pour construire contre unstable, sid, précisez:

$ lb config --distribution sid

Dans l'archive de distribution, les «archive areas» sont les principales divisions de l'archive. Dans Debian, ce sont main, contrib et non-free. Seulement main contient des logiciels qui font partie de la distribution Debian, donc qui est la valeur par défaut. Une ou plusieurs valeurs peuvent être spécifiées, par exemple

$ lb config --archive-areas "main contrib"

Soutien expérimental est disponible pour certains dérivés de Debian grâce à l'option --mode. L'option debian est définie par défaut, même si vous êtes en créant sur un système non-Debian. Si vous spécifiez --mode ubuntu ou --mode emdebian, les noms de distribution et des areas des archives pour les dérivés spécifiés sont soutenues au lieu de ceux de Debian. Le mode modifie également le comportement de live-build en fonction des dérivés.

Remarque: Les projets pour lesquels ces modes ont été ajoutés sont principalement responsables d'aider les utilisateurs de ces options. Le projet Debian Live, à son tour, fournit un soutien de développement sur une base des meilleurs efforts seulement, en fonction des commentaires sur les projets dérivés que nous n'avons pas développé ou soutenu nous-mêmes.

8.1.2 Miroirs de distribution

L'archive Debian est répliqué sur un grand réseau de miroirs autour du monde pour que les habitants dans chaque région puissent choisir un miroir proche avec la meilleur vitesse de téléchargement. Chacune des options --mirror-* régissent quel miroir de distribution est utilisée à différentes étapes de la construction. Rappelez-vous de Étapes de la construction que l'étape bootstrap c'est quand le chroot est initialement peuplée par debootstrap avec un système minimal, et l'étape chroot c'est quand le chroot utilisé pour construire le système de fichiers du système live est construit. Ainsi, les commutateurs des miroirs correspondants sont utilisées pour ces étapes, et plus tard, dans l'étape binary les valeurs --mirror-binary et --mirror-binary-security sont utilisées, remplaçant tout miroir utilisé dans une étape antérieure.

8.1.3 Miroirs de distribution utilisés au temps de construction

Pour définir les miroirs de distribution utilisés au temps de construction pour pointer vers un miroir local, il suffit de fixer --mirror-bootstrap , --mirror-chroot-security et --mirror-chroot-backports comme suit.

$ lb config --mirror-bootstrap http://localhost/debian/ \
             --mirror-chroot-security http://localhost/debian-security/ \
      --mirror-chroot-backports http://localhost/debian-backports/

Le miroir chroot, spécifié par --mirror-chroot, par défaut, c'est la valeur --mirror-bootstrap.

8.1.4 Miroirs de distribution utilisés au moment de l'exécution

Les options --mirror-binary* régissent les miroirs de distribution placés dans l'image binaire. Ils peuvent être utilisés pour installer des paquets supplémentaires lors de l'exécution du système live. Les valeurs par défaut emploient cdn.debian.net, un service qui choisit un miroir géographiquement proche basé sur le numéro IP de l'utilisateur. C'est un choix approprié lorsque vous ne pouvez pas prédire quel miroir sera mieux pour tous vos utilisateurs. Ou vous pouvez spécifier vos propres valeurs, comme indiqué dans l'exemple ci-dessous. Une image construite avec cette configuration seulement serait appropriée pour les utilisateurs sur un réseau où "mirror" est accessible.

$ lb config --mirror-binary http://mirror/debian/ \
             --mirror-binary-security http://mirror/debian-security/

8.1.5 Dépôts additionnels

Vous pouvez ajouter d'autres dépôts, élargissant votre choix de paquets au-delà ceux disponibles dans votre distribution objectif. Il peut être, par exemple, pour backports, expérimentaux ou des paquets personnalisés. Pour configurer des dépôts supplémentaires, créer les fichiers config/archives/your-repository.list.chroot, et/ou config/archives/your-repository.list.binary. Comme avec les options --mirror-*, elles gouvernent les dépôts utilisés dans l'étape chroot lors de la construction de l'image, et dans l'étape binary, c'est à dire pour les utiliser au moment de l'exécution du système live.

Par exemple, config/archives/live.list.chroot vous permet d'installer les paquets du dépôt des instantanés debian live au moment de la construction du système live.

deb http://live.debian.net/ sid-snapshots main contrib non-free

Si vous ajoutez la même ligne à config/archives/live.list.binary, le dépôt sera ajouté au répertoire /etc/apt/sources.list.d/ de votre système live.

Si ces fichiers existent, ils seront sélectionnés automatiquement.

Vous devriez également mettre la clé GPG utilisée pour signer le dépôt dans fichiers config/archives/your-repository.key.{binary,chroot}

Remarque: certains dépôts de paquets préconfigurés sont disponibles pour une sélection facile grâce à l'option --archives, par exemple pour activer les instantanés live, il suffit une simple commande:

$ lb config --archives live.debian.net

8.2 Choisir les paquets à installer

Il y a un certain nombre de façons de choisir quels paquets live-build va installer dans votre image, couvrant une variété de besoins différents. Vous pouvez tout simplement nommer les paquets individuels à installer dans une liste de paquets. Vous pouvez également choisir grandes listes prédéfinies de paquets, ou utiliser des tâches APT. Et enfin, vous pouvez placer paquets dans votre arbre config/ qui est bien adapté aux essais de nouveaux paquets ou expérimentaux avant qu'ils ne soient disponibles sur un dépôt.

8.2.1 Listes de paquets

Les listes de paquets sont un excellent moyen d'exprimer quels paquets doivent être installés. La syntaxe de la liste soutient les fichiers inclus et sections conditionnelles qui les rend facile de construire à partir d'autres listes et de les adapter pour une utilisation dans configurations multiples. Vous pouvez utiliser des listes de paquets prédéfinies, offrant une sélection modulaire de paquets provenants de chacun des environnements de bureau majeurs et certaines listes de but spécial, ainsi que les autres listes standard sont basées sur elles. Vous pouvez également fournir votre propre liste de paquets, ou utiliser une combinaison des deux.

Remarque: Le comportement de live-build pour spécifier un paquet qui n'existe pas est déterminé par votre choix de l'utilité APT. Voir Choisir apt ou aptitude pour plus de détails.

8.2.2 Listes de paquets prédéfinies

La façon la plus simple d'utiliser des listes consiste à spécifier une ou plusieurs listes prédéfinies avec la option --package-lists. Par exemple:

$ lb config --package-lists "gnome rescue"

L'emplacement par défaut pour les fichiers liste sur votre système est /usr/share/live/build/package-lists/. Pour déterminer les paquets dans une liste donnée, lire le fichier correspondant, en accordant une attention aux fichiers inclus et les conditionnels tels que décrits dans les sections suivantes.

8.2.3 Listes de paquets locaux

Vous pouvez compléter ou remplacer entièrement les listes fournies en utilisant listes de paquets locaux stockées dans config/package-lists/.

Les listes de paquets qui existent dans ce répertoire ont besoin d'avoir un suffixe .list pour être traitées, puis un suffixe d'étape supplémentaire .chroot ou .binary pour indiquer à quelle étape la liste est destinée.

Remarque: Si vous ne spécifiez pas le suffixe de l'étape, la liste sera utilisée pour les deux étapes. Normalement, vous voulez spécifier .list.chroot de sorte que les paquets seront seulement installés dans le système de fichiers live et ne pas avoir une copie supplémentaire des .deb placée sur le support.

8.2.4 Listes locaux de paquets binaires

Pour faire une liste pour l'étape binary, placez un fichier avec le suffixe .list.binary dans config/package-lists/. Ces paquets ne sont pas installés dans le système de fichiers live, mais sont inclus sur les supports live sous pool/. Vous utiliserez généralement cette liste avec une des variantes d'installation non-live. Comme mentionné ci-dessus, si vous voulez que cette liste soit la même que votre liste pour l'étape chroot, utilisez simplement le suffixe .list.

8.2.5 Extension d'un liste de paquets fournis à l'aide de «includes»

Les listes de paquets qui sont incluses avec live-build font un grand usage des «includes». Reportez-vous à celles-ci dans le répertoire /usr/share/live/build/package-lists/, car elles servent d'exemples pour savoir comment écrire vos propres listes.

Par exemple, pour faire une liste qui comprend la liste prédéfinie gnome, plus iceweasel, créer config/package-lists/my.list.chroot avec le contenu suivant:

#include <gnome>
iceweasel

8.2.6 Utilisant des conditionnels dans les listes de paquets

Toutes les variables de configuration de live-build stockées dans config/* (sans le préfixe LB_) peuvent être utilisées dans instructions conditionnelles dans les listes de paquets. Généralement, cela signifie une option lb config majuscule et avec tirets changés en caractères de soulignement. Mais en pratique, c'est seulement ceux qui influencent la sélection des paquets qui font sens, comme DISTRIBUTION, ARCHITECTURES ou ARCHIVE_AREAS.

Par exemple, pour installer ia32-libs si --architectures amd64 est spécifié:

#if ARCHITECTURES amd64
ia32-libs
#endif

Vous pouvez tester pour un certain nombre de valeurs, par exemple pour installer memtest86+ si --architectures i386 ou --architectures amd64 est spécifié:

#if ARCHITECTURES i386 amd64
memtest86+
#endif

Vous pouvez également tester contre des variables qui peuvent contenir plus d'une valeur, par exemple pour installer vrms si contrib ou non-free est spécifié via --archive-areas:

#if ARCHIVE_AREAS contrib non-free
vrms
#endif

Un conditionnel peut entourer une directive #include:

#if ARCHITECTURES amd64
#include <gnome-full>
#endif

L'imbrication des conditionnels n'est pas soutenu.

8.2.7 Tâches

L'installateur Debian offre l'utilisateur le choix d'un certain nombre de listes présélectionnées de paquets, chacune centrée sur un type particulier de système ou d'une tâche pour laquelle un système peut être utilisé, comme «environnement de bureau graphique», «serveur de messagerie» ou «portable». Ces listes sont appelés «tâches» (Tasks) et sont soutenues par APT grâce à l'option «Task:» Vous pouvez spécifier une ou plusieurs tâches à live-build en les plaçant dans une liste dans config/task-lists/, comme dans l'exemple ci-dessous.

$ lb config
$ echo "mail-server file-server" >> config/task-lists/my.list.chroot

Les tâches principales disponibles dans l'installateur Debian peuvent être listées avec tasksel --list-tasks dans le système live. Le contenu de n'importe quelle tâche, y compris celles non incluses dans cette liste, peuvent être examinées avec tasksel --task-packages.

8.2.8 Tâches de bureau et de la langue

Les tâches de bureau et de la langue sont des cas particuliers qui ont besoin d'une certaine planification et de configuration supplémentaire . Dans l'installateur Debian, si le support a été préparé pour un environnement de bureau particulier, la tâche correspondante sera automatiquement installée. Ainsi, il y a tâches internes gnome-desktop, kde-desktop, lxde-desktop et xfce-desktop, dont aucun n'est offert dans le menu tasksel. De même, il n'y a pas éléments de menu pour les tâches des langues, mais le choix de la langue de l'utilisateur lors de l'installation influence le choix des tâches de la langue correspondante.

Lors du développement d'une image de bureau live, l'image généralement amorce directement à un bureau de travail, le choix du environnement de bureau et la langue par défaut ayant été fait au moment de la construction, non pas au moment de l'exécution comme dans le cas de l'installateur de Debian. Cela ne veut pas dire qu'une image live ne pourrait être construite pour soutenir plusieurs environnements de bureau ou de plusieurs langues et offrir à l'utilisateur un choix, mais ce n'est pas le comportement par défaut de live-build.

Parce qu'il n'y a pas aucune disposition faite automatiquement pour les tâches de la langue, qui comprennent des éléments tels que des polices spécifiques de la langue et des paquets de méthodes de saisie, si vous les voulez, vous devez les spécifier dans votre configuration. Par exemple, une image de bureau GNOME contenant soutien pour le japonais pourrait inclure les tâches suivantes:

$ lb config
$ echo "gnome-desktop desktop standard laptop" >> config/task-lists/my.list.chroot
$ echo "japanese japanese-desktop japanese-gnome-desktop" >> config/task-lists/my.list.chroot

Comme les tâches de bureau sont des tâches «internes», pour chaque tâche de saveur de bureau incluse dans l'image, la valeur correspondante, si elle diffère de la valeur par défaut, "gnome", doit être préconfigurée dans la variable debconf «tasksel/desktop", ou bien tasksel ne la reconnaîtra pas et ne l'installera pas. Ainsi:

$ lb config
$ echo 'tasksel tasksel/desktop multiselect kde' >> config/preseed/my.preseed.chroot

Ce paramètre peut prendre plusieurs valeurs, par exemple "lxde xfce" au lieu de "kde".

8.3 Installation des paquets modifiés ou de tiers

Tandis qu'il est contre la philosophie de Debian Live, il peut parfois être nécessaire de construire un système live avec des versions modifiées des paquets qui sont dans le dépôt Debian. C'est peut-être pour modifier ou soutenir des fonctionnalités supplémentaires, des langues et branding, ou même pour supprimer des éléments dans les paquets existants qui sont indésirables. De même, les paquets "de tiers" peuvent être utilisés pour ajouter des fonctionnalités sur mesure et/ou propriétaires.

Cette section ne couvre pas les conseils concernant la construction ou la maintenance des paquets modifiés. La méthode de Joachim Breitner 'How to fork privately' ‹http://www.joachim-breitner.de/blog/archives/282-How-to-fork-privately.html› peut, cependant, être d'intérêt. La création de paquets sur mesure est traité dans le Debian New Maintainers' Guide at ‹http://www.debian.org/doc/maint-guide/› et ailleurs

Il y a deux façons d'installer des paquets personnalisés modifiés:

  • packages.chroot
  • Utiliser un dépôt APT personnalisé
  • Utilisant packages.chroot est plus simple à réaliser et utile pour les personnalisations ponctuels mais a un certain nombre d'inconvénients, tout en utilisant un dépôt personnalisé APT est plus fastidieux à mettre en place.

    8.3.1 Utilisant packages.chroot pour installer paquets personnalisés

    Pour installer un paquet personnalisé, il suffit de le copier dans le répertoire config/packages.chroot/. Les paquets qui sont dans ce répertoire seront automatiquement installés dans le système live pendant la construction du systéme - vous n'avez pas besoin de les spécifier ailleurs.

    Les paquets doivent être nommés de la manière prescrite. Une façon simple de le faire consiste à utiliser dpkg-name.

    L'utilisation de packages.chroot pour l'installation de paquets personnalisés a des inconvénients:

  • Il n'est pas possible d'utiliser secure APT.
  • Vous devez installer tous les paquets appropriés dans le répertoire config/packages.chroot/.
  • Il ne se prête pas au stockage de configurations Debian Live dans le contrôle de révision.
  • 8.3.2 Utiliser un dépôt APT pour installer des paquets personnalisés.

    Contrairement à l'utilisation de packages.chroot, lorsque vous utilisez un dépôt personnalisé APT vous devez vous assurer que vous spécifiez les paquets ailleurs. Voir Choisir les paquets à installer pour plus de détails.

    Si créer un dépôt APT pour installer des paquets personnalisés peut sembler un effort inutile, l'infrastructure peut être facilement ré-utilisée à une date ultérieure pour offrir les mises à jour des paquets modifiés.

    8.3.3 Les paquets personnalisés et APT

    live-build utilise apt pour installer tous les paquets dans le système live donc il héritera les comportements de ce logiciel. Un exemple pertinent est que (en supposant une configuration par défaut), s'il y a un paquet disponible dans deux dépôts différents avec différents numéros de version, APT choisira d'installer le paquet avec la numéro de version supérieur.

    Pour cette raison, vous pouvez incrémenter le numéro de version dans les fichiers debian/changelog de vos paquets personnalisés pour s'assurer que votre version modifiée est installée en lieu d'une dans les dépôts officiels Debian. Cela peut aussi être atteint en modifiant les préférences d'APT pinning dans le système live - voir APT pinning pour plus d'informations.

    8.4 Configuration d'APT au moment de la construction

    Vous pouvez configurer APT par un certain nombre d'options appliquées uniquement au moment de la construction. (La configuration d'APT utilisé dans le système live en fonctionnement peut être configurée de façon normale pour un système live, qui est, en incluant les configurations appropriées dans config/includes.chroot/.) Pour une liste complète, regardez les options commençant par apt dans la page de manuel de lb_config.

    8.4.1 Choisir apt ou aptitude

    Vous pouvez choisir d'utiliser soit apt ou aptitude. Quel logiciel est utilisé est régi par l'argument --apt de lb config. Choisissez la méthode du comportement préférée pour l'installation de paquets, la différence notable étant la manière dont les paquets manquants sont traités.

  • apt: Avec cette méthode, si un paquet manquant est spécifié, l'installation va échouer. C'est le réglage par défaut.
  • aptitude: Avec cette méthode, si un paquet manquant est spécifié, l'installation va réussir.
  • 8.4.2 Utilisation d'un proxy avec APT

    Une configuration communément requis par APT est pour faire face à la construction d'une image derrière un proxy. Vous pouvez spécifier votre proxy APT avec les options --apt-ftp-proxy ou --apt-http-proxy si nécessaire, par exemple

    $ lb config --apt-http-proxy http://proxy/

    8.4.3 Régler APT pour économiser de l'espace

    Vous pouvez avoir besoin d'économiser de l'espace sur les supports d'images, auquel cas l'un ou l'autre ou les deux options suivantes peuvent être d'intérêt.

    Si vous ne voulez pas inclure les indices d'APT dans l'image, vous les pouvez omettre avec:

    $ lb config --apt-indices false

    Cela ne influencera les entrées dans /etc/apt/sources.list, mais simplement de savoir si /var/lib/apt contient les fichiers indices ou non. La contrepartie est que APT a besoin de ces indices afin d'opérer dans le système live, alors avant de procéder à apt-cache search ou apt-get install, par exemple, l'utilisateur doit faire apt-get update pour créer ces indices.

    Si vous trouvez que l'installation des paquets recommandés gonfle votre image trop, vous pouvez désactiver l'option par défaut d'APT avec:

    $ lb config --apt-recommends false

    La contrepartie ici est que si vous n'installez pas les paquets recommandés par un paquet, c'est-à-dire, "paquets qu'on trouverai avec celui-ci dans toute installation standard" (Debian Policy Manual, section 7.2), certains paquets que vous avez vraiment besoin peuvent être omis. Par conséquent, nous vous suggérons d'examiner la différence que désactiver recommends rend à votre liste de paquets (voir le fichier binary.packages généré par lb build) et re-incluez dans votre liste tous les paquets manquants que vous souhaitez toujours installés. Alternativement, si vous trouvez que vous voulez seulement un petit nombre de paquets recommandés exclus, laissez recommends activé et définissez une priorité APT pin négative sur les paquets sélectionnés pour éviter les installér, comme expliqué dans APT pinning.

    8.4.4 Passer des options à apt ou aptitude

    S'il n'y a pas une option lb config pour modifier le comportement d'APT dans la façon dont vous avez besoin, utiliser --apt-options ou --aptitude-options pour passer des options à votre outil APT configuré. Voir les pages de manuel apt et aptitude pour plus de détails

    8.4.5 APT pinning

    Pour le contexte, s'il vous plaît lire d'abord la page de manuel apt_preferences(5). APT pinning peut être configuré soit au temps de construction, ou encore pendant l'exécution. Pour le premier, créez config/chroot_apt/preferences. Pour ce dernier, créez config/includes.chroot/etc/apt/preferences.

    Imaginons que vous voulez construire un système live wheezy mais il faut installer tous les paquets live qui finissent dans l'image binaire de sid au moment de la construction. Vous devez ajouter sid à votre APT sources et le fixer de sorte que seulement les paquets que vous voulez sont installés au temps de construction et tous les autres sont de la distribution du système objectif, wheezy. Ce qui suit devrait accomplir ça:

    $ echo "deb http://mirror/debian sid main" > config/archives/sid.list.chroot
    $ cat >> config/chroot_apt/preferences << END
    Package: live-boot live-boot-initramfs-tools live-config live-config-sysvinit
    Pin: release n=sid
    Pin-Priority: 600

    Package: *
    Pin: release n=sid
    Pin-Priority: 1
    END

    Remarque: Caractères génériques peuvent être utilisés dans les noms des paquets (par exemple Package: live-*) avec la version 0.8.14 ou supérieure d'Apt. Cela signifie qu'il fonctionne avec wheezy en utilisant:

    $ lb config --distribution wheezy

    Une priorité pin négative évitera installér un paquet, comme dans le cas où vous ne voulez pas un paquet qui est recommandé par un autre paquet. Supposons que vous construisez une image LXDE en utilisant l'option --package-lists lxde mais ne veulez pas que l'utilisateur soit invité à stocker les mots de passe wifi dans le trousseau de clés. Cette liste comprend gdm, que dépend de gksu, que à son tour recommande gnome-keyring. Donc, vous voulez omettre le paquet recommandé gnome-keyring. Cela peut être fait en ajoutant la strophe suivante à config/chroot_apt/preferences:

    Package: gnome-keyring
    Pin: version *
    Pin-Priority: -1