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

5. Descripció general de les eines

Aquest capítol conté un resum de les tres eines principals utilitzades en la construcció dels sistemes Debian Live: live-build, live-boot i live-config.

5.1 El paquet live-build

live-build és un conjunt de scripts per crear sistemes Debian Live. Aquests scripts també s'anomenen «ordres».

La idea darrere de live-build és ser un marc que utilitza un directori de configuració per automatitzar completament i personalitzar tots els aspectes de la construcció d'una imatge en viu.

Molts conceptes són similars als de les eines del paquet Debian debhelper escrit per Joey Hess:

  • Els scripts tenen una ubicació central per a la configuració del seu funcionament. Amb debhelper aquest és el subdirectori debian/ d'un arbre de paquets. Per exemple, dh_install buscarà, entre altres, un arxiu anomenat debian/install per determinar quins fitxers han d'existir en un paquet binari en particular. De la mateixa manera, live-build emmagatzema la seva configuració per complet sota un subdirectori config/.
  • Els scripts són independents - és a dir, sempre és segur executar cada ordre.
  • A diferència de debhelper, live-build conté una eina per generar un directori de configuració en esquelet, lb config. Això podria ser considerat similar a eines com ara dh-make. Per obtenir més informació sobre lb config, veure L'ordre lb config.

    La resta d'aquesta secció descriu les tres ordres més importants:

  • lb config: Responsable de crear un directori de configuració per al sistema en viu. Consultar L'ordre lb config per a més informació.
  • lb build: Responsable d'iniciar la creació d'un sistema en viu. Consultar L'ordre lb build per a més informació.
  • lb clean: Responsable d'eliminar parts de la construcció d'un sistema viu. Consultar L'ordre lb clean per a més informació.
  • 5.1.1 L'ordre lb config

    Com s'ha dit a live-build, les seqüències d'ordres que formen part de live-build llegeixen la seva configuració amb l'ordre source d'un únic directori anomenat config/. Com la construcció d'aquest directori a mà, seria molt costós i propens a errors, es pot utilitzar l'ordre lb config per crear carpetes de configuració en esquelet.

    Executar lb config sense arguments crea un subdirectori config/ que s'omple amb alguns paràmetres per defecte, i un arbre en esquelet de subdirectoris auto/.

    $ lb config
    [2012-03-19 15:17:14] lb_config
    P: Considering defaults defined in /etc/live/build.conf
    P: Creating config tree for a debian system

    Utilitzar lb config sense cap tipus d'arguments seria convenient per als usuaris que necessiten una imatge molt bàsica, o que tinguin la intenció de proporcionar una configuració més completa més tard mitjançant auto/config (Veure Gestió d'una configuració per més detalls).

    Normalment, s'haurà d'especificar algunes opcions. Per exemple, per incloure la llista de paquets 'gnome' en la configuració:

    $ lb config -p gnome

    És possible especificar diverses opcions, com ara:

    $ lb config --binary-images net --bootappend-live "hostname=live-machine username=live-user" ...

    Una llista completa d'opcions està disponible a la pàgina del manual lb_config.

    5.1.2 L'ordre lb build

    L'ordre lb build llegeix la configuració del directori config/. A continuació, executa les ordres de nivell inferior necessaries per construir el sistema en viu.

    5.1.3 L'ordre lb clean

    L'ordre lb clean s'encarrega d'eliminar diverses parts d'una construcció per que altres construccions posteriors puguin començar des d'un estat net. Per defecte, es netegen les etapes chroot, binary i source, però la memòria cau es manté intacta. A més, es poden netejar etapes individuals. Per exemple, si s'han fet canvis que només afecten a la fase binary, utilitzar lb clean --binary abans de construir un nou binary. Veure la pàgina del manual de lb_clean per a una llista completa d'opcions.

    5.2 El paquet live-boot

    live-boot és un conjunt de scripts per proporcionar hooks a initramfs-tools, que s'utilitzen per generar un initramfs capaç d'arrencar sistemes vius, com ara els creats per live-build. Això inclou les ISOs de Debian Live, netboot tarballs i imatges per a memòries USB.

    En el moment d'arrencar, buscarà medis de només lectura que continguin un directori /live/ on s'emmagatzema un sistema de fitxers arrel (sovint una imatge de un sistema de fitxers comprimit squashfs). Si el troba, crearà un entorn d'escriptura, utilitzant aufs, per que puguin arrencar sistemes com Debian o similars.

    Més informació sobre ramfs inicial a Debian es pot trobar al Debian Linux Kernel Handbook ‹http://kernel-handbook.alioth.debian.org/› al capítol sobre initramfs.

    5.3 El paquet live-config

    live-config consta dels scripts que s'executen durant l'arrencada després de live-boot per a configurar el sistema en viu de forma automàtica. S'ocupa de tasques com ara l'establiment de les locales, el nom d'amfitrió, i la zona horària, crear l'usuari en viu, l'inhibició de tasques de cron i l'inici automàtic de sessió per l'usuari en viu.