Live manual

Live Systems


<< previous toc next >>

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.3.3 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

SiSU Metadata, document information

Manual de Live Systems

Gestió d'una configuració

6. Gestió d'una configuració

En aquest capítol s'explica com gestionar una configuració d'un sistema 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 Gestionar canvis en la configuració

Les configuracions de sistemes en viu poques vegades són perfectes al primer intent. Passar opcions a lb config des de la línea d'ordres pot estar be per a construir una imatge una vegada, però és més típic revisar aquestes opcions i construir de nou fins que se'n estigui satisfet. Per a donar suport a aquests canvis, es poden utilitzar scripts auto que assegurin que la configuració es manté en un estat consistent.

6.1.1 Per què utilitzar scripts auto? Què fan?

L'ordre lb config emmagatzema les opcions que se li passen als fitxers de config/*, juntament amb moltes altres opcions que estan establertes als valors per defecte. Si s'executa un cop més, lb config no es restablirà cap de les opcios dependents basades en les opcions inicials. Així, per exemple, si s'executa de nou lb config amb un nou valor per a --binary-images, totes les opcions que en depenen que es van omplir per al tipus de imatge per defecte ja no poden funcionar amb la nova. Aquests fitxers no estan destinats a ser llegits o editats. S'emmagatzemen els valors de més de cent opcions, i ningú pot veure les opcions que s'han especificat realment. I finalment, si s'executa lb config i a continuació s'actualitza live-build i el nom d'una opció canvia, config/* encara contindrà les variables de l'opció vella que ja no són vàlides.

Per totes aquestes raons, els scripts auto/* ens fan la vida més fàcil. Són 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 per a lb config, i un auto/clean que elimini els fitxers que continguin diversos valors de variables de configuració, i el script auto/build guarda un build.log de cada construcció. Cada vegada que s'executi l'ordre lb corresponent, aquests fitxers seran executats automàticament. L'ús d'aquests scripts assegurarà que la configuració sigui més senzilla de llegir i que guardi una coherència interna d'una reversió a una altra. A més a més serà més fàcil identificar i solucionar les opcions que s'han de canviar al actualitzar d'una versió de live-build a la següent després de llegir la documentació.

6.1.2 Utilitzar scripts auto d'exemple

Per a més comoditat, live-build ve amb uns scripts d'exemple per a copiar i editar. Iniciar una nova configuració per defecte, i a continuació, copiar els exemples:

$ mkdir mylive && cd mylive && lb config
$ mkdir auto
$ cp /usr/share/doc/live-build/examples/auto/* auto/

Editar auto/config, afegint les opcions més adients. Per exemple:

#!/bin/sh
lb config noauto \
     --architectures i386 \
     --linux-flavours 686-pae \
     --binary-images hdd \
     --mirror-bootstrap http://ftp.ch.debian.org/debian/ \
     --mirror-binary http://ftp.ch.debian.org/debian/ \
     "${@}"

Ara, cada vegada que s'utilitzi lb config, auto/config restablirà la configuració basada en aquestes opcions. Quan es vulgui fer canvis, editar les opcions d'aquest fitxer en lloc de passar-les a lb config. Quan s'utilitza lb clean, auto/clean netejarà els fitxers de config/* juntament amb els altres productes de construcció. I, finalment, quan s'utilitza lb build, es crea un log de la construcció mitjançant auto/build anomenat build.log.

Nota: Aquí s'utilitza un paràmetre especial noauto per a suprimir un altra crida a auto/config, la qual cosa impedeix la recursivitat infinita. Assegurar-se de no eliminarlo accidentalment fent canvis. També, tenir cura de que quan es divideix l'ordre lb config a través de diverses línies per a facilitar la lectura, com es mostra en l'exemple anterior, no s'oblidi la barra invertida (\) al final de cada línia que segueix a la següent.

6.2 Clonar una configuració publicada via Git

Utilitzar l'opció lb config --config per a clonar un repositori Git que contingui una configuració en viu. Si es vol basar la configuració en un repositori mantingut pel Live Systems Project, mirar el repositori a ‹http://live-systems.org/gitweb/› amb el nom live-images sota el títol Packages. Aquest repositori conté les configuracions per a les imatges prefabricades

Per exemple, per a construir una imatge standard, utilitzar el repositori live-images de la manera següent:

$ mkdir live-images && cd live-images
$ lb config --config git://live-systems.org/git/live-images.git
$ cd images/standard

Editar auto/config i qualsevol altra cosa necessària dins l'arbre config per a satisfer les necessitats pròpies. Per exemple, per a fer les imatges prefabricades no oficials que contenen paquets de la secció non-free simplement s'afegeix --archive-areas "main contrib non-free".

Si es desitja, es pot definir una drecera en la configuració de Git, afegint el següent a ${HOME}/.gitconfig:

[url "git://live-systems.org/git/"]
         insteadOf = lso:

Això permet utilitzar lso: en qualsevol lloc on cal especificar la direcció d'un repositori git. També es pot omitir el sufix .git, i així, començar una nova imatge amb aquesta configuració és tan fàcil com:

$ lb config --config lso:live-images

Clonar tot el repositori live-images còpia les configuracions utilitzades per diverses imatges. Si es vol construir una imatge diferent després d'haver acabat amb la primera, canviar a un altre directori i un altre cop i, opcionalment, fer els canvis per a adaptar-les a les necessitats pròpies.

En qualsevol cas, recordar que cada vegada que s'ha de construir una imatge, s'ha de fer com a superusuari: lb build



<< previous toc next >>