Manual Debian Live

Sobre aquest manual

1. Sobre aquest manual

1.1 Per als impacients
1.2 Termes
1.3 Autors
1.4 Contribuir en aquest document
1.4.1 Aplicar canvis
1.4.2 Traducció

2. Sobre el Projecte Debian Live

2.1 Motivació
2.1.1 Què passa amb els sistemes vius actuals
2.1.2 Per què crear el nostre pròpi sistema viu?
2.2 Filosofia
2.2.1 Només paquets Debian sense modificacions de la secció "main"
2.2.2 Paquets del sistema viu sense cap configuració
2.3 Contacte

Usuari

3. Instaŀlació

3.1 Requeriments
3.2 Instaŀlació de live-build
3.2.1 Des del repositori de Debian
3.2.2 À partir del codi font
3.2.3 A partir d'instantànies
3.3 Instal.lació de live-boot i live-config
3.3.1 Des del repositori de Debian
3.3.2 À partir del codi font
3.3.3 A partir d'instantànies

4. Conceptes bàsics

4.1 Què és un sistema viu?
4.2 Primers passos: construcció d'una imatge ISO híbrida
4.3 Usar una imatge ISO híbrida en viu
4.3.1 Gravar una imatge ISO en un medi físic
4.3.2 Còpiar una imatge ISO híbrida en un dispositiu USB
4.3.3 Arrencar els medis en viu
4.4 Utilitzar una màquina virtual per fer proves
4.4.1 Provar una imatge ISO amb QEMU
4.4.2 Provar una imatge ISO amb virtualbox-ose
4.5 Construir una imatge HDD
4.6 Utilitzar una imatge HDD
4.6.1 Provar una imatge HDD amb Qemu
4.6.2 Utilitzar l'espai lliure en una memòria USB
4.7 Construir una imatge netboot
4.7.1 Servidor DHCP
4.7.2 Servidor TFTP
4.7.3 Servidor NFS
4.7.4 Com provar l'arrencada en xarxa
4.7.5 Qemu
4.7.6 VMWare Player

5. Descripció general de les eines

5.1 El paquet live-build
5.1.1 L'ordre lb config
5.1.2 L'ordre lb build
5.1.3 L'ordre lb clean
5.2 El paquet live-boot
5.3 El paquet live-config

6. Gestió d'una configuració

6.1 Utilitzar auto per gestionar canvis de configuració
6.2 Scripts auto d'exemple

7. Personalització dels continguts

7.1 Configuració durant la construcció vs. durant l'arrencada
7.2 Etapes de la construcció
7.3 Suplementar lb config amb fitxers
7.4 Tasques de personalització

8. Personalització de la instaŀlació de paquets

8.1 Fonts dels paquets
8.1.1 Distribució, zones d'arxiu i mode
8.1.2 Miralls de distribució
8.1.3 Miralls de distribució utilitzats en temps de construcció
8.1.4 Miralls de distribució utilitzats en temps d'execució
8.1.5 Repositoris addicionals
8.2 Selecció dels paquets a instaŀlar
8.2.1 Llistes de paquets
8.2.2 Llistes predefinides de paquets
8.2.3 Llistes locals de paquets
8.2.4 Llistes locals de paquets per l'etapa binary
8.2.5 Ampliació d'una llista mitjançant includes
8.2.6 Ús de condicionals dins de les llistes de paquets
8.2.7 Tasques
8.2.8 Tasques d'escriptori i llenguatge
8.3 Instaŀlació de paquets modificats o de tercers
8.3.1 Fer servir packages.chroot per instaŀar paquets personalitzats
8.3.2 Fer servir un repositori APT per instaŀlar paquets personalitzats
8.3.3 Paquets personalitzats i APT
8.4 Configurar APT en temps de construcció
8.4.1 Seleccionar apt o aptitude
8.4.2 L'ús d'un proxy amb APT
8.4.3 Afinar APT per estalviar espai
8.4.4 Passar opcions per a apt o aptitude
8.4.5 APT pinning

9. Personalització dels continguts

9.1 Includes
9.1.1 Live/chroot local includes
9.1.2 Binary local includes
9.1.3 Binary includes
9.2 Scripts ganxo (Hooks)
9.2.1 Live/chroot local hooks
9.2.2 Scripts ganxo durant l'arrencada
9.2.3 Binary local hooks
9.3 Preconfiguració de les preguntes de Debconf

10. Customizing run time behaviours

10.1 Customizing the live user
10.2 Customizing locale and language
10.3 Persistence
10.3.1 The live-persistence.conf file
10.3.2 Using more than one persistence store

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

Projecte

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 Last Point Release of a Debian Release
15.3.2 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

Apèndix

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

Manual Debian Live

Usuari

8. Personalització de la instaŀlació de paquets

La personalització més bàsica d'un sistema Debian viu pot ser la selecció dels paquets que seran inclosos en la imatge. Aquest capítol explica les diverses opcions de live-build per personalitzar la instaŀlació de paquets durant la construcció. Les opcions més importants que influeixen en els paquets que estan disponibles per ser instaŀlats en la imatge són les àrees de distribució i el arxiu. Per garantir velocitats de descàrrega decents, s'ha de triar un mirall de distribució proper. També es pot incloure repositoris de backports, paquets experimentals o personalitzats, o incloure paquets directament com si fossin fitxers. Es poden definir llistes pròpies de paquets, utilitzar llistes predefinides, utilitzar tasques de tasksel, o una combinació d'aquests tres mètodes. Finalment, una sèrie d'opcions donen un cert control sobre apt o si es prefereix aptitude, quan s'instaŀlen els paquets durant la construcció. Això pot ser útil si s'utilitza un proxy, es vol desactivar la instaŀlació de paquets recomanats per estalviar espai, o hi ha la necessitat de controlar quines versions dels paquets s'instaŀlen mitjançant la tècnica pinning d'APT, per nomenar algunes possibilitats.

8.1 Fonts dels paquets

8.1.1 Distribució, zones d'arxiu i mode

La distribució que es tria té una gran importància en els paquets que estan disponibles per incloure en una imatge en viu. Només cal especificar el nom en clau, que per defecte és wheezy per a la versió wheezy de live-build. Qualsevol distribució disponible a l'arxiu de Debian pot ser especificada pel seu nom en clau aquí. (Veure Termes per més detalls.) L'opció --distribution no només influeix en l'origen dels paquets dins l'arxiu, sinó que també instrueix a live-build per comportar-se segons sigui necessari per a construir cada distribució compatible. Per exemple, per construir la distribució unstable, sid, s'ha d'especificar:

$ lb config --distribution sid

A l'arxiu de la distribució, les àrees d'arxiu són les divisions principals de l'arxiu. A Debian, es tracta de main, contrib i non-free. Només main conté el programari que és part de la distribució Debian, pel que és el valor per defecte. Un o més valors es poden especificar, per exemple:

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

És dona suport experimental a alguns derivats de Debian a través de l'opció --mode. Per defecte, aquesta opció està establerta en debian, tot i que se estigui construint en un sistema que no sigui Debian. Si s'especifica --mode ubuntu o --mode emdebian, s'utilitzen els noms de distribució i les àrees dels arxius dels derivats especificats en lloc dels de Debian. El «mode» també modifica el comportament de live-build per adaptar-lo als derivats.

Nota: Els projectes per als quals aquests modes s'han afegit són els principals responsables de donar suport als usuaris d'aquestes opcions. El projecte Debian Live, al seu torn, dona suport de desenvolupament només sobre una base de millor esforç, basada en les informacions proporcionades pels projectes derivats ja que nosaltres no desenvolupem ni donem suport a aquests derivats.

8.1.2 Miralls de distribució

L'arxiu de Debian es replica a través d'una àmplia xarxa de miralls a tot el món perquè la gent en cada regió pugui triar un mirall proper amb la millor velocitat de descàrrega. Cadascuna de les opcions --mirror-* governa quin mirall de distribució s'utilitzara en les diverses etapes de la construcció. Recordar de Etapes de la construcció que l'etapa bootstrap es quan el chroot s'omple inicialment per debootstrap amb un sistema mínim i l'etapa chroot és quan s'utilitza el chroot per a la construcció de sistema d'fitxers del sistema en viu. D'aquesta manera, s'utilitzan els miralls corresponents per a aquestes etapes, i més tard, durant l'etapa binary s'utilitzan els valors --mirror-binary i --mirror-binary-security substituint qualsevol mirall utilitzat en una etapa anterior.

8.1.3 Miralls de distribució utilitzats en temps de construcció

Per establir els miralls de la distrubució utilitzats en temps de construcció perquè apuntin a una rèplica local, és suficient establir --mirror-bootstrap, --mirror-chroot-security i --mirror-chroot-backports de la manera següent.

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

El mirall per al chroot, especificat per l'opció --mirror-chroot, per defecte pren el mateix valor que --mirror-bootstrap

8.1.4 Miralls de distribució utilitzats en temps d'execució

Les opcions --mirror-binary* governen els miralls de distribució coŀlocats a la imatge binària. Aquestes poden ser utilitzades per instaŀlar paquets addicionals mentre s'executa el sistema en viu. Els valors per defecte utilitzan cdn.debian.net, un servei que tria un mirall geogràficament a prop en funció del número IP de l'usuari. Aquesta és una opció adequada quan no es pot predir quin serà el millor mirall per tots els usuaris. O es pot especificar els valors propis com es mostra en l'exemple següent. Una imatge construïda a partir d'aquesta configuració només seria convenient per als usuaris en una xarxa on "mirror" és abastable.

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

8.1.5 Repositoris addicionals

És possible afegir més repositoris, ampliant les opcions de paquets més enllà dels disponibles en la pròpia distribució de destinació. Aquests poden ser, per exemple, per backports, experimentals o paquets personalitzats. Per configurar repositoris addicionals, crear els fitxers config/archives/your-repository.list.chroot, i/o config/archives/your-repository.list.binary. Igual que amb les opcions --mirror-* aquest regeix els repositoris utilitzats en l'étapa chroot durant la construcció de la imatge, i a l'étapa binary, és a dir, per ser utilitzades quan s'executa el sistema en viu.

Per exemple, config/archives/live.list.chroot permet d'instaŀlar paquets des del repositori de instantànies de debian live en el moment de creació del sistema viu.

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

Si s'afegeix la mateixa línia a config/archives/live.list.binary, el repositori sera afegit al directori /etc/apt/sources.list.d/ del sistema viu.

Si aquests fitxers existeixen, seran utilitzats de forma automàtica.

També s'ha de posar la clau GPG utilitzada per signar el repositori en fitxers config/archives/your-repository.key.{binary,chroot}.

Nota: alguns repositoris preconfigurats de paquets estan disponibles per facilitar la selecció a través de l'opció --archives, per exemple, per habilitar instantànies en viu, una ordre simple és suficient per activar-ho:

$ lb config --archives live.debian.net

8.2 Selecció dels paquets a instaŀlar

Hi ha una sèrie de formes de triar els paquets que live-build instaŀlarà en la imatge, que abasta una varietat de necessitats diferents. Es pot simplement anomenar paquets individualment per instaŀlar en una llista de paquets. També es pot optar per llistes predefinides de paquets, o utilitzar les tasques d'APT. I, finalment, es poden coŀlocar paquets com si fossin fitxers dins del arbre config/, que és un mètode que s'adapta perfectament a fer proves amb paquets nous o experimentals abans de afegirlos a un repositori.

8.2.1 Llistes de paquets

Les llistes de paquets són una forma eficaç d'expressar quins paquets han de ser instaŀlats. La sintaxi de la llista suporta els fitxers inclosos i seccions condicionals que fa que sigui fàcil de construir llistes a partir d'altres llistes i adaptar-ler per al propi ús en múltiples configuracions. Es poden utilitzar llistes predefinides de paquets, proporcionant una selecció de paquets de forma modular de cada un dels principals entorns d'escriptori i algunes llistes per a fins especials, així com llistes estàndard a partir de les que es basen altres. També es pot proporcionar llistes pròpies de paquets, o utilitzar una combinació d'ambdós.

Nota: El comportament de live-build a l'hora d'especificar un paquet que no existeix està determinat per la elecció que es faci de l'eina APT. Veure Elegir apt or aptitude per més detalls.

8.2.2 Llistes predefinides de paquets

La forma més senzilla d'utilitzar les llistes consisteix a especificar una o més llistes predefinides amb l'opció --package-lists. Per exemple:

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

La ubicació per defecte de les llistes en el sistema és /usr/share/live/build/package-lists/. Per determinar els paquets en una llista donada, llegir el fitxer corresponent, prestant atenció als fitxers inclosos i els condicionals com es descriu a les següents seccions.

8.2.3 Llistes locals de paquets

Es poden completar les llistes predefinides mitjançant les llistes locals de paquets emmagatzemades a config/package-lists/.

Les llistes de paquets que es troben en aquest directori han de tenir el sufix .list per ser processades, i a més a més un sufix d'etapa adicional .chroot o .binary per indicar per a quina etapa és la llista.

Nota: Si no s'especifica el sufix d'etapa, la llista s'utilitzarà per a ambdues etapes. Normalment, s'especifica .list.chroot de manera que els paquets només s'instaŀlaran al sistema de fitxers en viu i no hi haura una còpia extra del .deb en els medis.

8.2.4 Llistes locals de paquets per l'etapa binary

Per crear una llista per a l'etapa binary, crear un fitxer amb el sufix .list.binary a config/package-lists/. Aquests paquets no s'instaŀlan al sistema de fitxers en viu però s'inclouen en els medis en viu a pool/. Un ús típic d'aquesta llista seria amb una de les variants del instaŀlador non-live. Com s'ha esmentat anteriorment, si es vol que aquesta llista sigui la mateixa que la llista de l'etapa chroot, simplement utilitzar el sufix .list.

8.2.5 Ampliació d'una llista mitjançant includes

Les llistes de paquets que s'inclouen amb live-build fan un ús extensiu dels includes. Es poden consultar al directori /usr/share/live/build/package-lists/ ja que serveixen com a bons exemples de com escriure llistes pròpies.

Per exemple, per fer una llista que inclogui la llista predefinida gnome més iceweasel, crear config/package-lists/my.list.chroot amb el contingut:

#include <gnome>
iceweasel

8.2.6 Ús de condicionals dins de les llistes de paquets

Qualsevol de les variables de configuració de live-build emmagatzemades a config/* (menys el prefix LB_) poden ser utilitzades en sentències condicionals en les llistes de paquets. En general, això significa qualsevol opció lb config en lletres majuscules i amb guions canviats a guions baixos. Però a la pràctica, només tenen sentit les que influeixen en la selecció de paquets, com ara DISTRIBUTION, ARCHITECTURES o ARCHIVE_AREAS.

Per exemple, per instaŀlar ia32-libs si s'especifica --architectures amd64:

#if ARCHITECTURES amd64
ia32-libs
#endif

És possible fer un test d'un qualsevol d'un nombre de valors, per exemple per instaŀlar memtest86+ si s'especifica --architectures i386 o --architectures amd64:

#if ARCHITECTURES i386 amd64
memtest86+
#endif

També es pot provar amb variables que poden contenir més d'un valor, per exemple, per instaŀlar vrms si s'especifica o contrib o non-free a través de l'opció --archive-areas:

#if ARCHIVE_AREAS contrib non-free
vrms
#endif

Un condicional pot envoltar una directiva #include:

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

No és possible el anidament dels condicionals.

8.2.7 Tasques

L'instaŀlador de Debian ofereix al usuari opcions d'una sèrie de llistes de paquets preseleccionats, cadascuna centrada en un tipus particular de sistema, o una tasca per a la qual es pot utilitzar un sistema, com "Graphical desktop environment", "Mail server" o "Laptop". Aquestes llistes es diuen "tasks" (tasques) i son suportades per APT a través de l'opció "Task:" es poden especificar una o més tasques a live-build posant-les en una llista a config/task-lists/, com en l'exemple següent.

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

Es poden llistar les principals tasques disponibles al instaŀlador de Debian amb tasksel --list-tasks al sistema viu. El contingut de qualsevol tasca, fins i tot les no estan incloses en aquesta llista, poden ser examinades amb tasksel --task-packages.

8.2.8 Tasques d'escriptori i llenguatge

Les tasques d'escriptori i el llenguatge són casos especials que necessiten una mica de planificació i configuració extra. Les imatges en viu són diferentes de les imatges de l'instaŀlador de Debian en aquest sentit. A l'instaŀlador de Debian, si el medi es va preparar per obtenir un tipus entorn d'escriptori en particular, la tasca corresponent s'instaŀlarà automàticament. Per tant hi ha tasques internes gnome-desktop, kde-desktop, lxde-desktop and xfce-desktop cap de les quals s'ofereixen al menú de tasksel. De la mateixa manera, no hi ha cap entrada de menú per a les tasques de les llengües, però l'elecció del idioma de l'usuari durant la instaŀlació influeix en la selecció de les tasques de llengües corresponents.

En el desenvolupament d'una imatge en viu d'escriptori, la imatge sol arrencar directament a un escriptori de treball, les opcions d'escriptori i de llengua han estat fetes en temps de construcció, no en temps d'execució com en el cas del instaŀlador de Debian. Això no vol dir que una imatge en viu no es pugui construir per donar suport a diversos equips d'escriptori o diversos idiomes i oferir a l'usuari una opció, però això no és el comportament de live-build per defecte.

Com que no hi ha cap ajust automàtic per les tasques de llengua que incloguin coses com ara fonts específiques per a una llengua o paquets de mètode d'entrada, si es vol, cal especificar-ho en la configuració. Per exemple, una imatge d'escriptori GNOME que contingui suport per al japonés podrie incloure les següents tasques:

$ 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

Com les tasques d'escriptori són "internes" per a cada tasca d'escriptori inclosa en la imatge, el valor corresponent, si aquest és diferent del valor per defecte, "gnome", s'ha de fer servir la variable de preconfiguració "tasksel/desktop" o en cas contrari tasksel no la reconeixerà i no la instaŀlarà. Així:

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

Aquest paràmetre pot tenir diversos valors, per exemple "lxde xfce" en lloc de "kde".

8.3 Instaŀlació de paquets modificats o de tercers

Si bé està en contra de la filosofia de Debian Live, de vegades pot ser necessària la construcció d'un sistema en viu amb versions modificades dels paquets que es troben al arxiu de Debian. Pot ser per modificar or donar suport a funcions addicionals, les llengües o les marques, o fins i tot per eliminar elements dels paquets existents que són indesitjables. De la mateixa manera, es poden utilitzar paquets de tercers per afegir alguna funcionalitat personalitzada i/o propietària.

Aquesta secció no cobreix l'assessorament en matèria de construcció o manteniment de paquets modificats. Però el métode de Joachim Breitner's 'How to fork privately' a ‹http://www.joachim-breitner.de/blog/archives/282-How-to-fork-privately.html› pot ser d'interès. La creació de paquets personalitzats es tracta a Debian New Maintainers' Guide at ‹http://www.debian.org/doc/maint-guide/› i en altres llocs.

Hi ha dues formes d'instaŀlar paquets personalitzats modificats:

  • packages.chroot
  • L'ús d'un repositori APT personalitzat
  • Utilitzar packages.chroot és més fàcil d'aconseguir i útil per a personalitzacions "ràpides", però té una sèrie d'inconvenients, mentre que l'ús d'un repositori APT personalitzat és més costós en la quantitat de temps necessari.

    8.3.1 Fer servir packages.chroot per instaŀar paquets personalitzats

    Per instaŀar un paquet personalitzat, només s'ha de copiar al directori config/packages.chroot/. Els paquets que es troben dins d'aquest directori s'instaŀlaran automàticament en el sistema en viu durant la construcció - no cal especificar res més en cap altre lloc.

    Els paquets han de ser nomenats en la forma prescrita. Una manera simple de fer això és utilitzar dpkg-name.

    Utilitzar packages.chroot per a la instaŀlació de paquets personalitzats té els seus desavantatges:

  • No és possible utilitzar APT segur.
  • Cal posar tots els paquets apropiats al directori config/packages.chroot/.
  • No es presta per a l'emmagatzematge de configuracions de Debian Live en el control de revisió.
  • 8.3.2 Fer servir un repositori APT per instaŀlar paquets personalitzats

    A diferència de packages.chroot, quan s'utilitza un repositori APT personalitzat s'ha d'assegurar que s'especifiquen els paquets en un altre lloc. Veure Selecció dels paquets a instaŀlar per més detalls.

    Si bé crear un repositori APT per instaŀlar paquets personalitzats pot semblar un esforç innecessari, la infraestructura pot ser fàcilment reutilitzada en una data posterior per oferir actualitzacions dels paquets modificats.

    8.3.3 Paquets personalitzats i APT

    live-build utilitza APT per instaŀlar tots els paquets al sistema en viu per tant, heretarà els comportaments d'aquest programa. Un exemple rellevant és que (assumint una configuració per defecte) si es dóna el cas que un paquet està disponible en dos repositoris diferents, amb diferents números de versió, APT triarà per instaŀlar el paquet amb la versió més alta.

    A causa d'això, s'aconsella augmentar el nombre de versió dels paquets personalitzats als fixers debian/changelog per assegurar-se que la versió modificada és la que s'instaŀla en lloc d'una dels repositoris oficials de Debian. Això també es pot aconseguir mitjançant l'alteració de les preferències d'APT del sistema en viu - veure APT pinning per més informació.

    8.4 Configurar APT en temps de construcció

    Es pot configurar APT a través d'una sèrie d'opcions que només s'apliquen en temps de construcció. (La configuració d'APT al sistema en funcionament en viu es pot fer de forma normal per als continguts del sistema en viu, és a dir, mitjançant la inclusió de les configuracions adequades a través de config/includes.chroot/.) Per obtenir una llista completa, buscar les opcions que comencen amb apt a la pàgina del manual de lb_config.

    8.4.1 Seleccionar apt o aptitude

    Es pot optar per utilitzar apt o aptitude a l'hora d'instaŀlar paquets en temps de construcció. Quina utilitat s'usa es configura gràcies al argument --apt de lb config. Escollir el mètode d'implementació per al comportament preferit durant la instaŀlació de paquets, la diferència notable és la forma en que es manegen els paquets que falten.

  • apt: Amb aquest mètode, si un paquet que s'especifica falta, l'instaŀlació de paquets fallarà. Aquesta és la configuració per defecte.
  • aptitude: Amb aquest mètode, si s'especifica un paquet que falta, l'instaŀlació de paquets tindrà èxit.
  • 8.4.2 L'ús d'un proxy amb APT

    Una configuració típica d'APT és per fer front a la construcció d'una imatge darrere d'un proxy. Es pot especificar el proxy per APT amb les opcions --apt-ftp-proxy o --apt-http-proxy segons sigui necessari, per exemple,

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

    8.4.3 Afinar APT per estalviar espai

    Pot ser necessari estalviar espai en els medis destinats a la imatge, en aquest cas una o altra o ambdós de les següentes opcions poden ser d'interès.

    Si no es vol incloure els índexs d'APT en la imatge, es poden omitir amb:

    $ lb config --apt-indices false

    Això no influirà en les entrades de /etc/apt/sources.list, sinó simplement si /var/lib/apt conté els fitxers dels índexs o no. El desavantatge és que APT necessita aquests índexs per tal d'operar en el sistema en viu, així que abans d'executar per exemple apt-cache search o apt-get install, l'usuari primer ha fer un apt-get update per crear aquests índexs.

    Si es considera que la instaŀlació de tots els paquets recomanats infla massa la imatge, es pot desactivar aquesta opció per defecte d'APT amb:

    $ lb config --apt-recommends false

    El desavantatge aquí és que si no s'instaŀlen els paquets recomanats per un paquet determinat, és a dir, "els paquets que es troben junts amb aquest en totes les instaŀlacions a menys que siguin inusuals" (Debian Policy Manual, secció 7.2), els paquets que en realitat són necessaris poden ser omesos. Per tant, suggerim revisar la diferència que desactivar els paquets recomanats té en la llista de paquets (veure el fitxer binary.packages generat per lb build) i tornar a incloure a la llista els paquets que falten que haurien de ser instaŀlats. D'altra banda, si només es vol un petit nombre de paquets recomanats deixats de banda, es pot deixar els paquets recomanats activat i establir una prioritat pin d'APT negativa en els paquets seleccionats per impedir la seva instaŀlació, com s'explica a APT pinning.

    8.4.4 Passar opcions per a apt o aptitude

    Si no hi ha una opció lb config per modificar el comportament d'APT tal i com es necessita, utilitzar --apt-options o --aptitude-options per passar alguna opció a través de l'eina APT configurada. Consultar les pàgines del manual de apt i aptitude per a més detalls.

    8.4.5 APT pinning

    Com a referència, llegir primer la pàgina del manual apt_preferences(5). Es pot configurar APT pinning tant pel temps de construcció, o bé per temps d'execució. En el primer cas, crear config/chroot_apt/preferences. Per aquest últim cas, crear config/includes.chroot/etc/apt/preferences.

    Suposem que s'està construint un sistema en viu wheezy però es necessita que tots els paquets en viu que acaben en la imatge binària s'instaŀlin desde sid en temps de construcció. Cal afegir sid a les fonts d'APT i fer un pin de manera que només els paquets que es vol s'instaŀlin en el moment de la construcció i tots els altres es preguin de la distribució de destinació, wheezy. El que segueix aconseguira això:

    $ 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

    Nota: Es poden usar comodins en els noms dels paquets (per exemple, Package: live-*) amb la versió 0.8.14 o superior d'Apt. Això significa que funciona amb wheezy utilitzant:

    $ lb config --distribution wheezy

    Una prioritat pin negativa evitarà que un paquet s'instaŀli, com en el cas que no es vulgui un paquet que és recomanat per un altre paquet. Suposem que s'està construint una imatge LXDE amb --package-lists lxde però no es desitja que al usuari se li demani que guardi les contrasenyes wifi al clauer. Aquesta llista inclou gdm, que depèn de gksu, que al seu torn recomana gnome-keyring. Si es vol omitir el paquet recomanat gnome-keyring això es pot fer mitjançant l'addició de les següents línies al config/chroot_apt/preferences:

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