Manual de Live Systems

Sobre aquest manual

Sobre aquest manual

1. Sobre aquest manual

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

Sobre el Live Systems Project

2. Sobre el Live Systems Project

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

Instal·lació

3. Instal·lació

3.1 Requisits
3.2 Instal·lació de live-build
3.2.1 Des del repositori de Debian
3.2.2 A 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 A partir del codi font
3.3.3 A partir d'instantànies

Conceptes bàsics

4. Conceptes bàsics

4.1 Què és un sistema viu?
4.2 Descàrrega d'imatges prefabricades
4.3 Ús del servei de construcció d'imatges en viu web
4.3.1 Ús i advertències sobre el servei web
4.4 Primers passos: construcció d'una imatge ISO híbrida
4.5 Usar una imatge ISO híbrida en viu
4.5.1 Gravar una imatge ISO en un medi físic
4.5.2 Copiar una imatge ISO híbrida en un dispositiu USB
4.5.3 Utilitzar l'espai lliure en una memòria USB
4.5.4 Arrencar el medi en viu
4.6 Utilitzar una màquina virtual per a fer proves
4.6.1 Provar una imatge ISO amb QEMU
4.6.2 Provar una imatge ISO amb VirtualBox
4.7 Construir i utilitzar una imatge HDD
4.8 Construir una imatge netboot
4.8.1 Servidor DHCP
4.8.2 Servidor TFTP
4.8.3 Servidor NFS
4.8.4 Com provar l'arrencada en xarxa
4.8.5 Qemu
4.9 Webbooting
4.9.1 Obtenir els fitxers webboot
4.9.2 Arrencar imatges webboot

Descripció general de les eines

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

Gestió d'una configuració

6. Gestió d'una configuració

6.1 Gestionar canvis en la configuració
6.1.1 Per què utilitzar scripts auto? Què fan?
6.1.2 Utilitzar scripts auto d'exemple
6.2 Clonar una configuració publicada via Git

Personalització dels continguts

7. Visió general de la personalització

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ó

Personalització de la instal·lació de paquets

8. Personalització de la instal·lació de paquets

8.1 Fonts dels paquets
8.1.1 Distribució, àrees 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 instal·lar
8.2.1 Llistes de paquets
8.2.2 Ús dels metapaquets
8.2.3 Llistes locals de paquets
8.2.4 Llistes locals de paquets per a l'etapa binary
8.2.5 Generar llistes de paquets
8.2.6 Ús de condicionals dins de les llistes de paquets
8.2.7 Eliminar paquets durant la instal·lació
8.2.8 Tasques d'escriptori i llenguatge
8.2.9 Tipus i versió del nucli
8.2.10 Nuclis personalitzats
8.3 Instal·lació de paquets modificats o de tercers
8.3.1 Fer servir packages.chroot per a instaŀar paquets personalitzats
8.3.2 Fer servir un repositori APT per a instal·lar paquets personalitzats
8.3.3 Paquets personalitzats i APT
8.4 Configurar APT en temps de construcció
8.4.1 Elegir apt o aptitude
8.4.2 L'ús d'un proxy amb APT
8.4.3 Afinar APT per a estalviar espai
8.4.4 Passar opcions per a apt o aptitude
8.4.5 APT pinning

Personalització dels continguts

9. Personalització dels continguts

9.1 Includes
9.1.1 Live/chroot local includes
9.1.2 Binary local 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

Personalització dels comportaments en temps d'execució

10. Personalització dels comportaments en temps d'execució

10.1 Personalitzar l'usuari en viu
10.2 Personalització de l'entorn local i el llenguatge
10.3 Persistència
10.3.1 El fitxer persistence.conf
10.3.2 Utilitzar diversos medis persistents
10.4 Persistència amb xifratge

Personalització de la imatge binària

11. Personalització de la imatge binària

11.1 Carregadors d'arrencada
11.2 metadades ISO

Personalització de l'instal·lador de debian

12. Personalització de l'instal·lador de debian

12.1 Tipus d'instal·lador de Debian
12.2 Personalització de l'instal·lador de Debian amb preconfiguració
12.3 Personalitzar el contingut de l'instal·lador de Debian

Projecte

Contribuir al projecte

13. Contribuir al projecte

13.1 Fer canvis

Informar dels errors

14. Informar dels errors

14.1 Problemes coneguts
14.2 Reconstruir des de zero
14.3 Fer servir paquets actualitzats
14.4 Recopilar informació
14.5 Aïllar el cas que falla, si és possible
14.6 Utilitzar el paquet correcte per a informar de l'error
14.6.1 A l'hora de construir mentre bootstrapping
14.6.2 A l'hora de construir, durant la instal·lació de paquets
14.6.3 En el moment d'arrencar
14.6.4 En temps d'execució
14.7 Fer la recerca
14.8 On informar dels errors

Estil de Codi

15. Estil de Codi

15.1 Compatibilitat
15.2 Indentació
15.3 Ajust de línia
15.4 Variables
15.5 Miscel·lània

Procediments

16. Procediments

16.1 Publicacions majors
16.2 Publicacions puntuals
16.2.1 Ùltima publicació puntual d'una versió de Debian
16.2.2 Plantilla per a anunciar una publicació puntual

Repositoris Git

17. Repositoris Git

17.1 Gestió de múltiples repositoris

Exemples

Exemples

18. Exemples

18.1 Ús dels exemples
18.2 Tutorial 1: Una imatge per defecte
18.3 Tutorial 2: Una utilitat de navegador web
18.4 Tutorial 3: Una imatge personalitzada
18.4.1 Primera revisió
18.4.2 Segona revisió
18.5 Un client per a un quiosc VNC
18.6 Una imatge bàsica per a un dispositiu USB de 128MB
18.7 Un escriptori GNOME localitzat i amb instal·lador

Apèndix

Style guide

19. Guia d'estil

19.1 Instruccions per als autors
19.1.1 Característiques lingüístiques
19.1.2 Procediments
19.2 Directrius per als traductors
19.2.1 Consells de traducció

Metadata

Manual de Live Systems

Personalització dels continguts

9. Personalització dels continguts

Aquest capítol tracta d'afinar la personalització dels continguts del sistema en viu més enllà de simplement triar els paquets que es desitja incloure. Els «includes» permeten afegir o reemplaçar fitxers arbitraris en la imatge en viu, els scripts ganxo (hooks) permeten executar ordres arbitràries en diferents etapes de la construcció i en el moment d'arrencar, i la preconfiguració (preseeding) permet configurar els paquets quan s'instal·len proporcionant respostes a les preguntes de debconf .

9.1 Includes

Tot i que l'ideal seria un sistema en viu que inclogués només fitxers proporcionats per paquets Debian sense modificació, de vegades és convenient proporcionar o modificar part del contingut a través de fitxers. Amb els includes, és possible afegir (o substituir) fitxers arbitraris en la imatge en viu. live-build ofereix dos mecanismes per al seu ús:

Consultar Termes per a més informació sobre la distinció entre les imatges "Live" and "binary".

9.1.1 Live/chroot local includes

Es poden utilitzar els chroot local includes per a afegir o reemplaçar fitxers en el sistema de fitxers chroot/Live perquè puguin ser utilitzats en el sistema en viu. Un ús típic és per a omplir l'esquelet del directori de l'usuari (/etc/skel) utilitzat pel sistema en viu per a crear el directori home de l'usuari en viu. Un altre és el de subministrar fitxers de configuració que poden ser simplement afegits o reemplaçats en la imatge sense processar; veure Live/chroot local hooks si es necessita processar-los.

Per a incloure fitxers, només s'han d'afegir al directori config/includes.chroot. Aquest directori es correspon amb el directori arrel / del sistema en viu. Per exemple, per a afegir un fitxer /var/www/index.html en el sistema en viu, fer:

$ mkdir -p config/includes.chroot/var/www
$ cp /path/to/my/index.html config/includes.chroot/var/www

La configuració tindrà llavors l'estructura següent:

-- config
    [...]
     |-- includes.chroot
     |   `-- var
     |       `-- www
     |           `-- index.html
    [...]

Els chroot local includes s'instal·len després de la instal·lació del paquets de tal manera que es sobreescriuen els fitxers instal·lats pels paquets.

9.1.2 Binary local includes

Per a incloure material com documentació o vídeos en el sistema de fitxers del medi en viu de manera que sigui accessible immediatament després de la inserció del medi sense haver de arrencar el sistema en viu, es pot utilitzar els binary local includes. Això funciona de manera similar als chroot local includes. Per exemple, si els fitxers ~/video_demo.* són vídeos de demostració del sistema en viu descrits i lligats per una pàgina d'índex HTML. Només cal copiar el material a config/includes.binary/ de la següent manera:

$ cp ~/video_demo.* config/includes.binary/

Aquests fitxers apareixeran ara en el directori arrel del medi en viu.

9.2 Scripts ganxo (Hooks)

Els scripts ganxo permeten executar ordres en les etapes de la construcció chroot i binary per tal de personalitzar la imatge.

9.2.1 Live/chroot local hooks

Per a executar ordres durant l'etapa chroot, crear un script ganxo que contingui les ordres amb el sufix .hook.chroot i afegir-lo al directori config/hooks/. El ganxo s'executarà en el chroot després que la resta de la configuració del chroot s'hagi aplicat, assegurar-se que la configuració inclou tots els paquets i els fitxers que el ganxo necessita per funcionar. Veure els scripts chroot d'exemple per a diverses tasques comunes de personalització que es poden trovar a /usr/share/doc/live-build/examples/hooks que es poden copiar o fer un enllaç simbòlic per a utilitzar-los en la pròpia configuració.

9.2.2 Scripts ganxo durant l'arrencada

Per a executar ordres durant l'arrencada, es pot proporcionar scripts ganxo per a live-config com s'explica a la secció "Personalització" de la seva pàgina del manual. Es poden afegir els ganxos de live-config a /lib/live/config/, tenint en compte la seqüència dels números. A continuació, afegir el script ganxo propi amb un número de seqüència apropiat com a prefix, ja sigui com a un chroot local include a config/includes.chroot/lib/live/config/, o com un paquet personalitzat com es va discutir a Instal·lació de paquets modificats o de tercers.

9.2.3 Binary local hooks

Per a executar ordres durant l'etapa binary, crear un script ganxo que contingui les ordres amb un sufix .hook.binary i afegir-lo al directori config/hooks/. El ganxo s'executarà després que s'executin totes les ordres de l'etapa binary però abans dels binary_checksums, la darrera ordre de l'etapa binary. Les ordres del ganxo no s'executen al chroot, per tant tenir cura de no modificar cap fitxer de fora del arbre de construcció, o es pot fer malbé el sistema de construcció! Veure els scripts ganxo binary d'exemple per a diverses tasques comunes de personalització a /usr/share/doc/live-build/examples/hooks que es poden copiar o fer un enllaç simbòlic per a utilitzar-los en la pròpia configuració.

9.3 Preconfiguració de les preguntes de Debconf

Els fitxers del directory config/preseed/ amb el sufix .cfg seguits del sufix de l'etapa (.chroot o .binary) son considerats fitxers de preconfiguració de debconf i són instal·lats per live-build utilitzant debconf-set-selections durant l'etapa corresponent.

Per a més informació sobre debconf, veure debconf(7) del paquet debconf.