Live manual

test @ sisudoc.org

sisu

[ document manifest ]

<< previous toc next >>

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 de rescat, 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/rescue

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


[ document manifest ]

<< previous toc next >>