~ubuntu-branches/ubuntu/saucy/live-manual/saucy-proposed

« back to all changes in this revision

Viewing changes to manual/es/user_managing_a_configuration.ssi

  • Committer: Package Import Robot
  • Author(s): Daniel Baumann, Ben Armstrong, chals, Daniel Baumann
  • Date: 2012-08-10 22:48:06 UTC
  • mfrom: (29.2.6 sid)
  • Revision ID: package-import@ubuntu.com-20120810224806-i4vzvy1ijmtt32va
Tags: 1:3.0~a15-1
[ Ben Armstrong ]
* Renaming keyboard-variant to keyboard-variants, matching latest
  live-config.

[ chals ]
* Updating Spanish and French translations to keyboard-variants.

[ Ben Armstrong ]
* Beginning change from predefined package lists to metapackages.

[ chals ]
* Updating Spanish translation of user_customization-packages.ssi.po.

[ Daniel Baumann ]
* Updating the internal list of strings that get automatically a
  certain markup (like debian release codenames, debian packages
  names, etc.).

[ chals ]
* Insisting on the fact that achieving a 100% translation is important
  in respect to code blocks.
* Updating French translation of user_customization.ssi.po, after the
  addition of metapackages.
* Updating Catalan translation of user_customization-packages.ssi.po,
  after the addition of metapackages.

[ Ben Armstrong ]
* Updating apt pinning example to correct actual metapackage
  dependencies.
* Rewriting introductory package list sections around metapackages
  instead of predefined lists.

[ chals ]
* Updating translation of es/user_customization-packages.ssi (apt
  pinning).
* Updating translation of fr/user_customization-packages.ssi (apt
  pinning).
* Updating the translation of ca/user_customization-packages.ssi (apt
  pinning).
* Fixing mismatch in the indexes of the Spanish and French manuals.

[ Ben Armstrong ]
* Explaining multiple lists, dropping includes and tasks, adding
  generated lists.
* Fixing minor typo in Packages helper paragraph.

[ chals ]
* Updating Spanish translation of user_customization-packages
  (multiple lists).
* Updating French translation of user_customization-packages (multiple
  lists).
* Updating Catalan translation of user_customization-packages
  (multiple lists).
* Translating user_customization-runtime.ssi.po into Catalan.
* Revising the now unsupported '-p|--package-lists' option providing
  alternatives, thanks to Ben Armstrong for the hints.
* Copying minimal.chroot hook to config/hooks and thus making the
  example work.
* Removing 'standard-x11 list' and explaining the lists a bit better.
* Removing '--includes none' from the minimal image example as it is
  unsupported and was tested without that option.
* Providing a way to create a smaller image before the size
  optimization warning in the examples.
* Proofreading project_bugs.
* Removing the binary includes section since they were dropped.

[ Ben Armstrong ]
* Rewriting 'Managing a configuration' for greater clarity and
  introducing --config option.

[ chals ]
* Running 'make commit' to avoid conflicts and thus being able to
  commit languages individually afterwards; there are too many changes
  to cope with them all.

[ Ben Armstrong ]
* Fixing lb config --config examples: missing option.

[ chals ]
* Updating Catalan translation of user_managing a configuration, lb
  config --config.

[ Ben Armstrong ]
* Clarifying section headings relating to auto scripts.

[ chals ]
* Removing 'echo' to improve readability.
* Updating Catalan translation of the headings of auto scritps.
* Starting work to complete the Spanish translation, adding missing
  code blocks and updating user_customization-contents, project_bugs
  and user_overview.
* Starting work to complete the French translation, adding missing
  code blocks and updating user_customization-contents,
  user_customization-packages and user_overview.
* Revising the French translation of project_bugs and fixing its
  'fuzzy' string.
* Completing the French translation with user_examples and
  user_managing_a_configuration and revising po headers.
* Revising the headers in the Spanish po files that showed 'Catalan'
  by an error.

[ Ben Armstrong ]
* Updating prerequisites: Linux 3.x included.
* Updating build live-boot and live-config from source to reflect best
  practice for short-term testing.
* Clarifying example uses bash commands.

[ chals ]
* Completing the Spanish translation with
  user_managing_a_configuration, user_installation and user_examples.
* Updating French translation of user_installation.
* Updating the Catalan translation of user_installation.ssi.po.
* Fixing one title in the Spanish translation and improving one string
  in user_installation.ssi.po.

[ Ben Armstrong ]
* Clarifying --apt-recommends false has consequences for live-*
  packages.
* Updating language tasks section and examples chapter to no longer
  use task lists.

[ chals ]
* Re-adding packages left out by 'apt-recommends false' to make the
  images work properly in the examples.

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
herramienta live-build como de la imagen del sistema en vivo propiamente
8
8
dicha.
9
9
 
10
 
2~ Utilización de auto para gestionar los cambios de la configuración
11
 
 
12
 
La configuración necesaria para crear un sistema en vivo rara vez es
13
 
perfecta a la primera. Lo normal es que se necesite realizar una serie de
14
 
revisiones hasta que se obtenga algo satisfactorio. Sin embargo, las
15
 
inconsistencias pueden transmitirse de una revisión de la configuración a
16
 
otra si no se es lo suficientemente cuidadoso. El principal problema es que,
17
 
una vez que una variable de la configuración tiene un valor asignado, este
18
 
valor no es recalculado en revisiones posteriores de la configuración. Esto
19
 
hace que, si una variable depende del valor de otra y esta segunda cambia de
20
 
valor, el valor actual de la primera no se ve alterado, debido a que ya
21
 
tenía el valor asignado de antemano.
22
 
 
23
 
Por ejemplo, la primera vez que se asigna la distribución a utilizar, se
24
 
asigna a muchas variables un valor por defecto para adecuarse a la
25
 
distribución seleccionada. Sin embargo, si posteriormente se decide
26
 
modificar la distribución, estas variables dependientes continuan reteniendo
27
 
los valores antiguos que, por supuesto, no son los adecuados para la nueva
28
 
distribución.
29
 
 
30
 
Otro problema es que la ejecución de la orden #{lb config}# no se
31
 
reejecutará correctamente si se realiza una actualización a una nueva
32
 
versión de las herramientas live-build que modifique el nombre de alguna
33
 
variable de configuración. Además solamente podrá ser descubierto mediante
34
 
una revisión manual de los ficheros del directorio #{config/*}# que se
35
 
deberán modificar para  asignar las variables de configuración a un nuevo
36
 
valor apropiado.
37
 
 
38
 
Todo esto sería un terrible embrollo si no fuese por los scripts auto/*
39
 
simples envoltorios para los comandos #{lb config}#, #{lb build}# y #{lb
40
 
clean}# que están diseñados para ayudar a la gestión de la
41
 
configuración. Simplemente se debe crear un script llamado auto/config que
42
 
contenga el comando #{lb config}# con todas las opciones que se deseen y
43
 
otro script llamado auto/clean  que elimine los ficheros que contienen los
44
 
valores de las variables de configuración. Estos scripts se ejecutarán cada
45
 
vez que se ejecuten los comandos #{lb config}# o #{lb clean}# de manera
46
 
automática. Esto asegurará que la configuración se mantendrá consistente
47
 
desde una versión a otra y desde una versión de las herramientas live-build
48
 
a otra. (Aunque esto no elimina la necesidad de leer la documentación cuando
49
 
se instale una nueva version de las herramientas live-build y quizás
50
 
realizar algún ajuste manual en los ficheros de configuración).
51
 
 
52
 
2~ Un ejemplo de scripts auto.
53
 
 
54
 
Se debe utilizar scripts auto similares a los ejemplos que se muestran a
55
 
continuación como punto de partida para una nueva configuración de la
56
 
herramienta live-build. Hay que hacer notar que, cuando se ejecuta el
57
 
comando #{lb}# dentro del script auto, se debe especificar la opción
58
 
#{noauto}# para asegurar que el script auto no se vuelve a ejecutar
59
 
repetitivamente. Tampoco se debe olvidar asegurarse de que los scripts auto
60
 
sean ejecutables (por ejemplo #{chmod 755 auto/*}#). 
61
 
 
62
 
#{auto/config}#
 
10
2~ Gestionar los cambios de configuración
 
11
 
 
12
Las configuraciones en vivo rara vez son perfectas al primer intento. Puede
 
13
estar bien pasar opciones a #{lb config}# en la línea de comandos para
 
14
realizar una construcción única, pero es más típico revisar esas opciones y
 
15
construir de nuevo hasta quedar satisfecho. Para apoyar estos cambios, se
 
16
pueden utilizar scripts auto que garanticen que la configuración se mantiene
 
17
en un estado coherente.
 
18
 
 
19
3~ ¿Por qué utilizar scripts auto? ¿Qué hacen?
 
20
 
 
21
El comando #{lb config}# almacena las opciones que se le pasan en ficheros
 
22
en el directorio #{config/*}#, junto con muchas otras opciones que figuran
 
23
en sus valores predeterminados. Si se ejecuta #{lb config}# una vez más, no
 
24
restablecerá ninguna opción que se estableció como por defecto en función de
 
25
las opciones iniciales. Así, por ejemplo, si se ejecuta #{lb config}# otra
 
26
vez con un nuevo valor para #{--distribution}#, todas las opciones que se
 
27
establecieron como predeterminadas para la distribución anteriormente ya no
 
28
pueden funcionar con la nueva configuración. Estos archivos tampoco estan
 
29
destinados a ser leídos o editados. Almacenan valores para más de cien
 
30
opciones, para que nadie sea capaz de ver las opciones que se especificó
 
31
realmente. Y por último, si se ejecuta #{lb config}# y a continuación se
 
32
actualiza live-build y hay alguna opción que cambió de nombre, #{config/*}#
 
33
todavía tendrá variables con las opciones viejas que ya no son válidas.
 
34
 
 
35
Por todas estas razones, los scripts #{auto/*}# nos hacen la vida más
 
36
fácil. Son simples envoltorios para los comandos #{lb config}#, #{lb build}#
 
37
y #{lb clean}# diseñados para ayudar a administrar una configuración. El
 
38
script #{auto/config}# contiene el comando #{lb config}# con todas las
 
39
opciones que se desea, el script #{auto/clean}# elimina los ficheros que
 
40
contienen variables de configuración y el fichero #{auto/build}# crea un
 
41
#{build.log}# de cada creación. Cada uno de estos scripts se ejecuta
 
42
automáticamente cada vez que se ejecuta la orden #{lb}#
 
43
correspondiente. Mediante el uso de estos scripts, la configuración es más
 
44
fácil de leer y se mantiene internamente coherente de una revisión a la
 
45
siguiente. Además, será mucho más fácil identificar y corregir las opciones
 
46
que necesitan cambiarse tras actualizar live-build y leer la documentación
 
47
actualizada.
 
48
 
 
49
2~ Usar scripts auto de ejemplo
 
50
 
 
51
Para mayor comodidad, live-build contiene shell scripts auto de ejemplo que
 
52
se pueden copiar y editar. Iniciar una nueva configuración por defecto y a
 
53
continuación, copiar los ejemplos:
 
54
 
 
55
code{
 
56
 
 
57
 $ mkdir mylive && cd mylive && lb config
 
58
 $ cp /usr/share/doc/live-build/examples/auto/* auto/
 
59
 
 
60
}code
 
61
 
 
62
Editar #{auto/config}#, añadiendo las opciones que se desee. Por ejemplo:
63
63
 
64
64
code{
65
65
 
66
66
 #!/bin/sh
67
67
 lb config noauto \
68
 
     --package-lists "standard" \
 
68
     --architectures i386 \
 
69
     --linux-flavours 686-pae \
 
70
     --binary-images hdd \
 
71
     --mirror-bootstrap http://ftp.es.debian.org/debian/ \
 
72
     --mirror-binary http://ftp.es.debian.org/debian/ \
69
73
     "${@}"
70
74
 
71
75
}code
72
76
 
73
 
#{auto/clean}#
74
 
 
75
 
code{
76
 
 
77
 
 #!/bin/sh
78
 
 lb clean noauto "${@}"
79
 
 rm -f config/binary config/bootstrap \
80
 
     config/chroot config/common config/source
81
 
 rm -f build.log
82
 
 
83
 
}code
84
 
 
85
 
#{auto/build}#
86
 
 
87
 
code{
88
 
 
89
 
 #!/bin/sh
90
 
 lb build noauto "${@}" 2>&1 | tee build.log
91
 
 
92
 
}code
93
 
 
94
 
Estos scripts auto vienen de serie con las herramientas live-build. Bastaría
95
 
con copiar estos scripts como punto de partida.
96
 
 
97
 
code{
98
 
 
99
 
 $ cp /usr/share/doc/live-build/examples/auto/* auto/
100
 
 
101
 
}code
102
 
 
103
 
Se puede editar el script #{auto/config}#, modificándolo o añadiendo
104
 
cualquier opción que se acomode a las necesidades requeridas. En el ejemplo
105
 
anterior, se asigna la opción por defecto #{--package-lists standard}#. Se
106
 
puede cambiar este valor por uno adecuado o simplemente eliminarlo si no es
107
 
necesario, añadiendo en las líneas siguientes cualquier otra opción que se
108
 
adecue a las necesidades requeridas para la imagen a crear. 
 
77
Ahora, cada vez que se utilize #{lb config}#, #{auto/config}# reiniciará la
 
78
configuración basándose en estas opciones. Cuando se desee realizar cambios,
 
79
se deben editar las opciones en este fichero en lugar de pasarlas a #{lb
 
80
config}#. Cuando se utilize #{lb clean}#, #{auto/clean}# limpiará los
 
81
ficheros en #{config/*}# junto a los otros productos de construcción. Y, por
 
82
último, cuando se utilice #{lb build}#, #{auto/build}# creará un log del
 
83
proceso de construcción llamado #{build.log}#.
 
84
 
 
85
Nota: Aquí se utiliza #{noauto}#, un parámetro especial para suprimir otra
 
86
llamada a #{auto/config}#, evitando así una repetición infinita. Asegurarse
 
87
de no eliminarlo accidentalmente al hacer cambios en el fichero. Tener
 
88
cuidado al dividir el comando #{lb config}# en varias líneas para facilitar
 
89
la lectura, como se muestra en el ejemplo anterior, ya que no debe olvidarse
 
90
la barra invertida (\) al final de cada línea que sigue en la siguiente.
 
91
 
 
92
2~ Clonar una configuración publicada a través de Git
 
93
 
 
94
Utilizar la opción #{lb config --config}# para clonar un repositorio Git que
 
95
contenga una configuración de Debian Live. Si se desea basar la
 
96
configuración en una mantenida por el proyecto Debian Live, visitar los
 
97
repositorios con el prefijo #{config-}# en http://live.debian.net/gitweb
 
98
 
 
99
Por ejemplo, para construir una imagen de rescate, utilizar el repositorio
 
100
#{config-rescue}# de la siguiente manera:
 
101
 
 
102
code{
 
103
 
 
104
 $ mkdir live-rescue && cd live-rescue
 
105
 $ lb config --config git://live.debian.net/git/config-rescue.git
 
106
 
 
107
}code
 
108
 
 
109
Editar #{auto/config}#y cualquier otra cosa que se necesite en el árbol
 
110
#{config}# para adaptarlo a las propias necesidades.
 
111
 
 
112
Si se desea, se puede definir un método abreviado en la configuración de
 
113
Git, añadiendo lo siguiente al fichero #{${HOME}/.gitconfig}#:
 
114
 
 
115
code{
 
116
 
 
117
 [url "git://live.debian.net/git/"]
 
118
     insteadOf = ldn:
 
119
 
 
120
}code
 
121
 
 
122
Esto permite utilizar #{ldn:}# en cualquier lugar en que se tenga que
 
123
especificar la dirección de un repositorio git de #{live.debian.net}#. Si se
 
124
omite el sufijo #{.git}#, comenzar una nueva imagen con esta configuración
 
125
es tan fácil como:
 
126
 
 
127
code{
 
128
 
 
129
 $ lb config --config ldn:config-rescue
 
130
 
 
131
}code
 
132