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

6. Gestió d'una configuració

En aquest capítol s'explica com gestionar una configuració en viu des de la seva creació inicial, a través de revisions i versions successives de tant el programari live-build com de la imatge en viu en si mateixa.

6.1 Utilitzar auto per gestionar canvis de configuració

Les configuracions dels sistemes vius poques vegades són perfectes al primer intent. És probable que s'hagi de fer una sèrie de revisions fins quedar satisfet. No obstant això, es poden introduir inconsistències a la configuració d'una versió a la següent si no se'n te cura. El principal problema és, que una vegada que a una variable se li assigna un valor per defecte, aquest valor no es torna a calcular a partir d'altres variables que poden canviar en revisions posteriors.

Per exemple, quan la distribució s'estableix per primer cop, a moltes de les variables dependents se'ls assigna uns valors per defecte que s'adapten a aquesta distribució. No obstant això, si més endavant es decideix canviar la distribució, les variables dependents seguiran conservant els mateixos valors que ja no són apropiats.

Un segon problema relacionat és que si s'executa lb config i després s'actualitza a una versió nova de live-build que ha canviat un dels noms de les variables, només es descobrirà això mitjantçant una revisió manual de les variables als fitxers de config/* que després s'hauran de tornar a modificar per establir l'opció corresponent de nou.

Tot això seria una molestia terrible si no fos pels scripts auto/*, simples embolcalls per les ordres lb config, lb build i lb clean dissenyats per ajudar a gestionar una configuració. Només cal crear un script auto/config que contingui totes les opcions que es desitgin, i un auto/clean que elimini els fitxers que continguin diversos valors de variables de configuració, cada vegada que s'executi lb config i lb clean, aquests fitxers seran executats. Això assegurarà que la configuració guarda una coherència interna d'una versió a una altra i d'una versió de live-build a la següent (Tot i que encara s'haurà d'anar amb compte i llegir la documentació quan s'actualitzi live-build i fer els ajustos necessaris ).

6.2 Scripts auto d'exemple

Es poden utilitzar scripts auto d'exemple com ara els següents com a punt de partida per crear una nova configuració de live-build. Tenir en compte que quan s'invoca l'ordre lb que embolcalla el script auto, s'ha d'especificar noauto com a paràmetre per garantir que el script auto no es torna a executar de forma recursiva. A més, assegurar-se que els scripts són fitxers executables (e.g. chmod 755 auto/*).

auto/config

#!/bin/sh
lb config noauto \
     --package-lists "standard" \
     "${@}"

auto/clean

#!/bin/sh
lb clean noauto "${@}"
rm -f config/binary config/bootstrap \
     config/chroot config/common config/source
rm -f build.log

auto/build

#!/bin/sh
lb build noauto "${@}" 2>&1 | tee build.log

Ara incloem scripts auto d'exemple amb live-build basats en els exemples anteriors. Es poden copiar com a punt de partida.

$ cp /usr/share/doc/live-build/examples/auto/* auto/

Editar auto/config, canviar o afegir qualsevol opció que millor sembli. En l'exemple anterior s'estableix el valor per defecte, --package-lists standard. Canviar això a qualsevol valor vàlid per la pròpia imatge (o suprimir-ho si es vol utilitzar el valor per defecte) i afegir opcions addicionals en les línies que segueixen a continuació.