aboutsummaryrefslogtreecommitdiffhomepage
path: root/markup/pod/live-manual/media/text/ca/user_managing_a_configuration.ssi
blob: 72c71ac10f4048e24c0e58e7d485d5912134185f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
:B~ Gestió d'una configuració

1~managing-a-configuration 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.

2~ 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.

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

3~ 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:

code{

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

}code

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

code{

 #!/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/ \
     "${@}"

}code

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.

2~clone-configuration-via-git 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 ${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}#downloading-prebuilt-images

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

code{

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

}code

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}#:

code{

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

}code

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:

code{

 $ lb config --config lso:live-images

}code

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}#