Live manual Debian Live

# Debian Live Manual

# Gestió d'una configuració

328

# 6. Gestió d'una configuració

329

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.

330

6.1 Gestionar canvis en la configuració

331

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.

332

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

333

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.

334

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

335

6.1.2 Utilitzar scripts auto d'exemple

336

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:

337

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

338

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

339

#!/bin/sh
lb config noauto \
--distribution stable \
--binary-images hdd \
--mirror-bootstrap http://ftp.ch.debian.org/debian/ \
--mirror-binary http://ftp.ch.debian.org/debian/ \
"${@}"

340

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

341

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.

342

6.2 Clonar una configuració publicada via Git

343

Use the `lb config --config` option to clone a Git repository that contains a live system configuration. If you would like to base your configuration on one maintained by the Debian Live Project, look at ‹https://salsa.debian.org/live-team/› for the repository named `live-images` in the category `Subgroups and projects`. This repository contains the configurations for the live systems prebuilt images.

344

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

345

$ mkdir live-images && cd live-images
$ lb config --config https://salsa.debian.org/live-team/live-images.git::debian
$ cd images/standard

346

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"`.

347

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

348

[url "https://salsa.debian.org/live-team/"]
insteadOf = lso:

349

This enables you to use `lso:` anywhere you need to specify the address of a `salsa.debian.org` git repository. If you also drop the optional `.git` suffix, starting a new image using this configuration is as easy as:

350

$ lb config --config lso:live-images::debian

351

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.

352

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