Documentos de Académico
Documentos de Profesional
Documentos de Cultura
7 de mayo 2013
Copyright © 2006-2013 Debian Live Project;
License: Este programa es software libre: puede ser
redistribuido y/o modificado bajo los términos de la GNU
General Public License publicada por la Free Software
Foundation, bien de la versión 3 de la Licencia, o (a su
elección) cualquier versión posterior.
ii
Contents
iii
Contents
iv
Contents
Proyecto 43 Ejemplos 52
13. Contribuir al proyecto . . . . . . . . . . . . . . . . 43 18. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . 52
13.1 Realizar cambios . . . . . . . . . . . . . . 44 18.1 Uso de los ejemplos . . . . . . . . . . . . 52
14. Informes de errores. . . . . . . . . . . . . . . . . . 45 18.2 Tutorial 1: Una imagen predeterminada . . 53
14.1 Problemas conocidos . . . . . . . . . . . . 45 18.3 Tutorial 2: Una utilidad de navegador web 53
14.2 Reconstruir desde cero . . . . . . . . . . . 45 18.4 Tutorial 3: Una imagen personalizada . . . 53
14.3 Utilizar paquetes actualizados . . . . . . . 45 18.4.1 Primera revisión . . . . . . . . . . . . 54
14.4 Recopilar información . . . . . . . . . . . . 45 18.4.2 Segunda revisión . . . . . . . . . . . . 55
14.5 Aislar el fallo si es posible . . . . . . . . . 46 18.5 Un cliente VNC kiosk . . . . . . . . . . . . 55
14.6 Utilizar el paquete correcto sobre el que 18.6 Una imagen básica para un pendrive USB
informar del error . . . . . . . . . . . . . 46 de 128MB . . . . . . . . . . . . . . . . . 56
14.6.1 En la preinstalación (bootstrap) en 18.7 Un escritorio GNOME con variante local e
tiempo de creación. . . . . . . . . . . . . 47 instalador . . . . . . . . . . . . . . . . . 57
14.6.2 Mientras se instalan paquetes en
tiempo de creación. . . . . . . . . . . . . 47 Apéndice 58
14.6.3 En tiempo de arranque . . . . . . . . 47 18.8 Guidelines for authors . . . . . . . . . . . 58
14.6.4 En tiempo de ejecución . . . . . . . . 47 18.8.1 Linguistic features . . . . . . . . . . . 58
14.7 Hacer la investigación . . . . . . . . . . . 47 18.8.2 Procedures . . . . . . . . . . . . . . . 60
14.8 Dónde informar de los fallos . . . . . . . . 48 18.9 Guidelines for translators . . . . . . . . . . 62
15. Estilo de código . . . . . . . . . . . . . . . . . . . 48 18.9.1 Translation hints . . . . . . . . . . . . 62
15.1 Compatibilidad . . . . . . . . . . . . . . . . 48
Metadata 64
15.2 Sangrado . . . . . . . . . . . . . . . . . . 48
SiSU Metadata, document information . . . . . . . . . 64
15.3 Ajuste de líneas . . . . . . . . . . . . . . . 48
15.4 Variables . . . . . . . . . . . . . . . . . . . 49
15.5 Miscelánea . . . . . . . . . . . . . . . . . . 49
16. Procedimientos . . . . . . . . . . . . . . . . . . . . 50
16.1 Principales lanzamientos . . . . . . . . . . 50
v
Manual Debian Live
Debian Live y en particular al sofware que el proyecto crea principio y terminando en la sección ‹Términos›. Después
para Debian 7.0 “wheezy ”. Se puede encontrar siempre una saltar hasta los tres tutoriales que están al principio de la
versión actualizada en ‹http://live.debian.net/› sección ‹Ejemplos› pensados para aprender a configurar y
construir imágenes de sistemas en vivo de forma básica. Se
5 live-manual está principalmente enfocado a ayudar en la deberá leer primero ‹Uso de los ejemplos›, seguido de ‹Tutorial
creación de un sistema en vivo y no está dirigido al usuario 1: Una imagen predeterminada› y ‹Tutorial 2: Una utilidad de
final de estos sistemas. Un usuario final puede encontrar navegador web›, para finalizar con ‹Tutorial 3: Una imagen
información útil en las siguentes secciones: ‹Conceptos personalizada›. Al final de estos tutoriales, el lector tendrá una
básicos› que cubre la descarga de imágenes prefabricadas visión de lo que se puede hacer con Debian Live.
y la preparación de imágenes para arrancar un sistema
desde un medio de almacenamiento o desde una red Se anima a profundizar en el estudio del manual con la lectura 10
local, ya sea utilizando el constructor web o ejecutando detenida del siguiente capítulo: ‹Conceptos básicos›, y de una
live-build directamente en el sistema. ‹Personalización del manera más somera el capítulo ‹La creación de una imagen
comportamiento en tiempo de ejecución› que describe algunas netboot›, para acabar con la lectura de ‹Descripción general
de las opciones que pueden especificarse en el indicador de de la personalización› y los capítulos que le siguen. Se espera
arranque, como pueden ser la selección de la distribución del que, en este punto, el lector esté lo suficientemente motivado
teclado, las variantes locales o la persistencia. con lo que se puede hacer con Debian Live para leer el resto
del manual, de principio a fin.
6 Algunos de los comandos mencionados en el texto deben ser
ejecutados con privilegios de superusuario, que pueden ser 1.2 Términos 11
deben ser ejecutadas como usuario no privilegiado de las que sistema operativo que se puede arrancar sin instalación
si requieren privilegios de superusuario se ha prefijado con $ previa en el disco duro. Un sistema en vivo no altera ningún
las primeras y con # las segundas. Estos símbolos no son parte sistema operativo previamente instalado ni ningún fichero
de la orden. existente en el disco duro de la máquina a menos que se le
1
Manual Debian Live
instruya para hacerlo. Los sistemas en vivo son arrancados 21 • live-tools : Una colección de scripts adicionales que se
típicamente desde medios extraíbles como CD, DVD o utilizan para realizar tareas útiles en un sistema en vivo en
llaves USB. Algunos pueden también arrancar desde la red ejecución.
local.
• live-manual : Este documento forma parte de un paquete 22
binario a los efectos de iniciar el sistema en vivo, tales como al gestor de arranque (bootloader) para modificar el
la ubicación de los ficheros de arranque de red. comportamiento del kernel o del conjunto de scripts live-
config. Son llamados también Parámetros de kernel u
14 • Debian Live : Es un subproyecto de Debian que mantiene, Opciones de arranque.
entre otros, los paquetes Debian live-boot, live-build, live-
• chroot : El programa chroot, chroot(8), permite ejecutar 25
config, live-tools y live-manual.
diferentes instancias de un entorno GNU/Linux en un solo
15 • Sistema Debian Live : Es un sistema en vivo que utiliza sistema de manera simultánea sin necesidad de reiniciar el
programas del sistema operativo Debian y que puede ser sistema.
arrancado desde medios extraíbles como CD, DVD o llaves • Imagen binaria : Es un fichero binario que contiene 26
USB, desde red local (mediante imágenes netboot) o desde el sistema en vivo. Su nombre puede ser binary.iso o
Internet (utilizando la opción de arranque fetch=URL). binary.img dependiendo de su formato.
16 • Sistema huésped : Es el conjunto de herramientas y equipo • Distribución objetivo : Es la versión de la distribución 27
utilizado para crear el sistema en vivo. Debian en la cual estará basado el sistema en vivo que
puede diferir de la versión de la distribución en el sistema
17 • Sistema objetivo : Es el conjunto de herramientas y equipo
huésped.
donde se ejecutará el sistema en vivo.
• stable/testing/unstable : La distribución stable contiene 28
18 • live-boot : Es una colección de scripts que serán la última distribución Debian oficialmente publicada. La
responsables de arrancar el sistema en vivo. distribución testing está en la rampa de salida para ser la
19 • live-build : Una colección de scripts utilizados para construir próxima distribución stable . La principal ventaja de utilizar
sistemas Debian Live personalizados. esta distribución es que tiene versiones de programas
más recientes si se compara con la versión stable . La
20 • live-config : Es una colección de scripts utilizados para distribución unstable es dónde se realiza el desarrollo de
configurar un sistema en vivo durante el proceso de Debian. Generalmente esta distribución es usada por los
arranque. desarrolladores y aquellos que les gusta vivir al filo de lo
2
Manual Debian Live
imposible. A lo largo del manual, se usan sus nombres en 1.4.1 Aplicar cambios 46
32 • Brendan Sleight
33 • Carlos Zuferri # apt-get install make po4a ruby ruby-nokogiri sisu-complete texlive-←-
generic-recommended
34 • Chris Lamb
35 • Daniel Baumann Se puede realizar la construcción del manual posicionándose 49
38 • Kai Hendry
$ make build
39 • Marco Amadori
40 • Mathieu Geli Ya que la construcción del manual para todos los idiomas 51
41 • Matthias Kirschner soportados tarda un buen rato, puede ser mejor crear un
solo idioma. Esto puede realizarse ejecutando la siguiente
42 • Richard Nelson orden:
43 • Trent W. Buck 52
45 Este manual se ha creado como un proyecto comunitario y Es posible generar el documento por formato: 53
cualquier propuesta para su mejora u otras contribuciones son
54
siempre bienvenidas. Ver la sección ‹Contribuir al proyecto›
para obtener información detallada sobre cómo obtener la
clave pública y hacer buenos commits. $ make build FORMATS=pdf
3
Manual Debian Live
O combinar ambos, por ejemplo: 55 Después de ejecutar make commit se podrá observar bastante 64
56
texto en la pantalla. Básicamente son mensajes informativos
sobre el estado del proceso y también algunas pistas sobre lo
$ make build LANGUAGES=de FORMATS=html
que se puede hacer para mejorar live-manual. A menos que se
vea un error fatal, generalmente se puede proceder y enviar la
57 Después de revisar el trabajo y asegurarse de que todo está contribución.
bien, no ejecutar make commit a menos de que se actualicen live-manual incluye dos utilidades que pueden ser de gran 65
las traducciones al mismo tiempo, y en ese caso, no mezclar ayuda para los traductores a la hora de encontrar mensajes sin
los cambios al manual en inglés con las traducciones en el traducir y mensajes difusos. La primera es “make translate”.
mismo commit, sino en commits separados. Ver la sección Esta activa un script que muestra en detalle cuántos mensajes
‹Traducción› para más detalles. sin traducir hay en cada fichero po. La segunda, “make
fixfuzzy”, sólo actúa sobre los mensajes difusos pero ayuda a
58 1.4.2 Traducción encontrarlos y corregirlos uno por uno.
Hay que tener en cuenta que aunque estas utilidades pueden 66
59 Para comenzar la traducción de un idioma nuevo, se deben
ser de gran ayuda para traducir en la linea de comandos,
seguir los siguientes pasos:
se recomienda el uso de una herramienta especializada
60 • Traducir los ficheros about_manual.ssi.pot , about_project.ssi.pot como por ejemplo poedit. Además, es una buena idea leer
y index.html.in.pot al idioma deseado con cualquier editor la documentación de debian sobre localizacion (l10n) y,
(como puede ser poedit) . Enviar los ficheros .po traducidos especificamente para live-manual, las ‹Directrices para los
a la lista de correo para que el equipo de traducción pueda traductores›.
revisar su integridad.
Nota: Se puede utilizar make clean para limpiar el árbol git 67
61 • Para activar una nueva lengua en el autobuild basta con antes de enviar los cambios. Este paso no es obligatorio,
añadir los ficheros traducidos inicialmente a manual/po/- gracias al fichero .gitignore, pero es una buena práctica para
${LANGUAGE}/ y ejecutar make commit. Y entonces editar evitar enviar ficheros involuntariamente.
manual/_sisu/home/index.html.
62 • Una vez que el nuevo idioma haya sido añadido, se puede 2. Acerca del Proyecto Debian Live 68
continuar la traducción de los ficheros po restantes en
manual/po/ de manera aleatoria.
2.1 Motivación 69
4
Manual Debian Live
Debian y todos hacian un buen trabajo. Desde la perspectiva de 86 • No contiene ningún paquete que no forma parte del archivo
Debian, la mayoría de estos sistemas tenían alguna de estas de Debian.
desventajas: • Utiliza kernels que provienen de Debian inalterados sin 87
testing y unstable .
2.2.1 Solamente paquetes sin modificación alguna de 89
79 • No disponían de diferentes medios de instalación, como CDs, live-boot, live-build o live-config, pueden ser utilizados
DVDs, llaves USB o imágenes de arranque por red netboot. temporalmente desde el repositorio del proyecto, por razones
de desarrollo (por ejemplo para crear instantaneas de
80 2.1.2 El porqué de crear un Sistema Live propio. pruebas). Estos paquetes serán actualizados en Debian de
manera regular.
81 Debian es el Sistema Operativo Universal: Debian
tiene un Sistema Live para mostrar y representar el 2.2.2 Sin configuración especial para el Sistema Live 93
84 • Se ejecuta en tantas arquitecturas como es posible. Siempre que se necesite una configuración diferente a la de por 95
5
Manual Debian Live
general de la personalización›.
• Un intérprete de comandos compatible con POSIX, como por 107
98 • Lista de correo : El sistema de contacto principal del Tener en cuenta que no es necesario el uso de Debian o 110
proyecto es la lista de correo en ‹http://lists.debian. una distribución derivada de Debian - live-build funcionará
org/debian-live/›. Se puede enviar un correo a la lista
en casi cualquier distribución que cumpla con los requisitos
directamente dirigiéndolo a ‹debian-live@lists.debian.org› anteriores.
Los archivos históricos de la lista están disponibles en
‹http://lists.debian.org/debian-live/›. 3.2 Instalación de live-build 111
6
Manual Debian Live
paquete:
# make install
119
123 Se puede crear e instalar el paquete Debian ejecutando: 3.3 Instalación de live-boot y live-config 133
124
Nota: No es necesario instalar live-boot o live-config en el 134
$ cd live-build
sistema para crear sistemas personalizados de Debian Live.
$ dpkg-buildpackage -b -uc -us Sin embargo, eso no causará ningún daño y es útil por motivos
$ cd .. de referencia. Si únicamente se desea tener la documentación,
es posible instalar los paquetes live-boot-doc y live-config-doc
125 Si se desea, se podrá instalar cualquiera de los paquetes .deb de forma independiente.
recien creados con el procedimiento anterior, p.ej.
126
3.3.1 Desde el repositorio Debian. 135
7
Manual Debian Live
137 3.3.2 A partir del código fuente • Utilizar los ficheros .deb generados que proceda 146
8
Manual Debian Live
vmlinuz*
153 Este capítulo contiene una breve descripción del proceso de
creación de las imágenes en vivo y las instrucciones para el • Imagen del Disco RAM inicial (initrd) : Un Disco RAM 159
uso de los tres tipos de imágenes más utilizadas. El tipo de configurado para el arranque de Linux, que incluya los
imagen más versátil, iso-hybrid, se puede utilizar en una módulos posiblemente necesarios para montar la imagen
máquina virtual, en medios ópticos u otros dispositivos de del sistema y algunos scripts para ponerlo en marcha.
almacenamiento USB. En ciertos casos especiales, como se • Imagen del sistema : La imagen del sistema de ficheros raíz. 160
explica más adelante, las imágenes hdd, pueden ser las más Por lo general, se utiliza un sistema de ficheros comprimido
adecuadas. El capítulo termina con instrucciones para crear SquashFS para reducir al mínimo el tamaño de la imagen
y utilizar una imagen de tipo netboot, que es un poco más de Debian Live. Hay que tener en cuenta que es de sólo
complicado debido a la configuración necesaria en el servidor. lectura. Por lo tanto, durante el arranque del sistema Debian
Es un tema ligeramente avanzado para cualquier persona que Live se utiliza un disco RAM y un mecanismo de «unión» que
no esté familiarizada con el arranque en red, pero se incluye permite escribir ficheros en el sistema en funcionamiento. Sin
aquí porque una vez que se realiza toda la configuración, es embargo, todas las modificaciones se perderán al apagar el
una forma muy conveniente para probar y desplegar imágenes equipo a menos que se use de modo opcional la persistencia
de arranque en red local sin la molestia de tratar con los (ver ‹Persistencia›).
dispositivos de almacenamiento de la imagen.
• Gestor de arranque : Una pequeña pieza de código 161
154 A lo largo de todo el capítulo se hace a menudo referencia diseñada para arrancar desde el medio de almacenamiento
al nombre de las imágenes producidas por defecto por live- escogido, posiblemente mostrando un menú o un
build. Si se ‹descarga una imagen ya creada› el nombre puede indicador de arranque para permitir la selección de
variar. opciones/configuración. Carga el kernel de Linux y su initrd
para funcionar con un sistema de ficheros asociado. Se
155 4.1 ¿Qué es un sistema en vivo? pueden usar soluciones diferentes, dependiendo del medio
de almacenamiento de destino y el formato del sistema
156 Por lo general, un sistema en vivo se refiere a un sistema de ficheros que contenga los componentes mencionados
operativo que arranca en un equipo desde un medio extraíble, anteriormente: isolinux para arrancar desde un CD o DVD
como un CD-ROM, dispositivo USB, o desde una red, listo para en formato ISO9660, syslinux para arrancar desde el disco
usar sin ningún tipo de instalación en la unidad de costumbre, duro o unidad USB desde una partición VFAT, extlinux para
9
Manual Debian Live
formatos ext2/3/4 y particiones btrfs, pxelinux para arranque Si se tiene problemas o preguntas acerca de este servicio,
de red PXE, GRUB para particiones ext2/3/4 , etc. ponerse ‹en contacto› con nosotros, proporcionando el enlace
162 Se puede utilizar live-build para crear la imagen del sistema a la página dónde se recoge la información pertinente a la
a partir de ciertas especificaciones, incluir un kernel de imagen.
Linux, su initrd y un gestor de arranque para ponerlos en
funcionamiento, todo ello en un formato que depende del 4.3.1 Uso y advertencias del servicio de creación de 167
puede tener problemas que tarden algún tiempo en resolverse. pueden construir. Esto lo hace simple y a la vez eficiente de
10
Manual Debian Live
usar y mantener. Si se desea realizar personalizaciones que no Al no pasar ningún parámetro a lb config, se indica que se 177
se contemplan en la interfaz web, en el resto de este manual quiere utilizar todas las opciones por defecto. Ver‹El comando
se explica cómo crear imágenes propias con live-build. lb config› para más detalles.
Ahora que existe un jerarquía «config/», se puede crear la 178
171 4.4 Primeros pasos: creación de una imagen ISO imagen con el comando lb build:
híbrida 179
11
Manual Debian Live
186 4.5.2 Copiar una imagen ISO híbrida a un dispositivo nombre de la partición, por ejemplo /dev/sdb2 se tiene que
USB crear un sistema de ficheros en él. Una opción posible sería
ext4.
187 Las imágenes ISO preparadas con xorriso, pueden
194
sencillamente copiarse a una llave USB con dd o con un
programa equivalente. Insertar una llave USB con un tamaño
# mkfs.ext4 ${PARTITION}
suficiente para la imagen y determinar qué dispositivo es, al
cual nos referiremos de ahora en adelante como ${USBSTICK}.
Este nombre de «dispositivo» se refiere a la llave entera como Nota: Si se desea usar el espacio extra con Windows, segun 195
por ejemplo /dev/sdb y ¡No a una partición como /dev/sdb1! parece, ese sistema operativo no puede acceder normalmente
Se puede encontrar el nombre del dispositivo correcto mirando a otra partición más que a la primera. Se han comentado
la salida de dmesg después de conectar la llave, o mejor aún algunas soluciones a este problema en nuestra ‹lista de
ejecutando ls -l /dev/disk/by-id. correo› pero según parece no hay una solución fácil.
188 Cuando se esté seguro de tener el nombre del dispositivo Recordar: Cada vez que se instale una nueva binary.hybrid.iso196
correcto, usar el comando dd para copiar la imagen a la llave. en el dispositivo, todos los datos del dispositivo se
¡Esto borrará de forma definitiva cualquier contenido perderán debido a que la tabla de particiones se
previo en la llave! sobrescribe con el contenido de la imagen, así pues,
189 realizar primero una copia de seguridad de la partición
para poder restaurarla trás actualizar la imagen en
$ dd if=binary.hybrid.iso of=${USBSTICK}
vivo.
12
Manual Debian Live
de arranque del sistema en vivo antes que el dispositivo de • Cuando se desarrolla para un hardware específico, no hay 205
ver la opción «help» del menú y también las páginas del mirar que software VM hay disponible y elegir uno que sea
manual de live-boot y live-config que se encuentran en el adecuado según las necesidades.
sistema en vivo.
200 Suponiendo que se ha seleccionado Live y arrancado una 4.6.1 Probar una imagen ISO con QEMU 208
imagen en vivo por defecto con escritorio gráfico, después
de que los mensajes de arranque hayan pasado, se habrá La máquina virtual más versátil en Debian es QEMU. Si el 209
iniciado automáticamente una sesión como usuario user procesador tiene soporte de hardware para virtualización,
y se verá el escritorio preparado para ser usado. Si se ha utilizar el paquete qemu-kvm. En la descripción del paquete
arrancado una imagen sólo de consola como por ejemplo qemu-kvm se enumera brevemente la lista de requisitos.
‹las imágenes prefabricadas›, standard o rescue se habrá
iniciado automáticamente una sesión como usuario user y se En primer lugar, instalar qemu-kvm si el procesador lo soporta. 210
verá el cursor del intérprete de comandos preparado para ser Si no es así, instalar qemu, en cuyo caso el nombre del
usado. programa será qemu en vez de kvm en los siguientes ejemplos.
El paquete qemu-utils también es útil para la creación de
imágenes virtuales de disco con qemu-img.
201 4.6 Usar una máquina virtual para pruebas
211
202 Ejecutar las imágenes en vivo en una máquina virtual (VM)
puede ser un gran ahorro de tiempo para su desarrollo. Esto # apt-get install qemu-kvm qemu-utils
no está exento de advertencias:
203 • Para ejecutar una máquina virtual se requiere tener Arrancar una imagen ISO es sencillo: 212
suficiente memoria RAM para el sistema operativo huésped
y el anfitrión y se recomienda una CPU con soporte de 213
13
Manual Debian Live
4.6.2 Probar una imagen ISO con virtualbox 215 todos los aspectos, con la diferencia de que hay que especificar
-b hdd y de que el nombre de la imagen final es binary.img
216 Para probar una imagen ISO con virtualbox: que no se puede copiar en medios ópticos. Es adecuada para
217 el arranque desde dispositivos USB, discos duros USB y otros
sistemas de almacenamiento portátil. Normalmente, se puede
# apt-get install virtualbox virtualbox-qt virtualbox-dkms utilizar para este propósito una imagen ISO híbrida, pero es
posible que la BIOS no maneje adecuadamente las imágenes
$ virtualbox
híbridas, entonces es mejor utilizar una imagen hdd.
218 Crear una nueva máquina virtual, cambiar la configuración Nota: si se ha creado una imagen ISO híbrida con el ejemplo 225
de almacenamiento para utilizar binary.hybrid.iso como anterior, se tendrá que limpiar el directorio de trabajo con el
dispositivo CD/DVD y arrancar la máquina. comando lb clean (ver ‹El comando lb clean›):
219 Nota: Para probar los sistemas en vivo con soporte X.org en 226
221 Para que el paquete dkms funcione, hace falta tener instalados
también los kernel-headers para la variante del kernel utilizado. Crear ahora la imagen con el comando lb build: 229
223 4.7 Construir y utilizar una imágen HDD y el gestor de arranque syslinux, lista para ser copiada
directamente en un dispositivo USB. De nuevo, dado que
224 Crear una imagen HDD es similar a una de tipo ISO híbrida en utilizar una imagen HDD es igual a usar una imagen ISO
14
Manual Debian Live
híbrida en un USB, seguir las instrucciones de ‹Usar una tiene que ejecutar un lb clean (que también eliminará la etapa
imagen ISO híbrida› con la diferencia de usar el nombre chroot).
binary.img en lugar de binary.hybrid.iso.
Ejecutar el comando lb config de la siguiente manera para 240
233 Del mismo modo, para probar una imagen HDD con Qemu, configurar la imagen de arranque en red:
instalar qemu como se describe más arriba en ‹Probar una 241
imágen ISO con QEMU›. A continuación, ejecutar kvm o qemu,
según qué versión necesita el sistema anfitrión y especificando
$ lb config -b netboot --net-root-path "/srv/debian-live" --net-root-←-
binary.img como primer disco duro. server "192.168.0.1"
234
A diferencia de las imágenes ISO y HDD, el sistema de 242
clean: 244
238
# lb build
# lb clean
En un arranque en red, el cliente ejecuta una pequeña pieza de 245
15
Manual Debian Live
configuración /etc/dhcp/dhcpd.conf:
Una vez el equipo cliente ha descargado y arrancado el 258
251
kernel de Linux junto a su initrd, intentará montar el sistema
de archivos de la imagen en vivo a través de un servidor
# /etc/dhcp/dhcpd.conf - fichero de configuración para isc-dhcp-server NFS.
ddns-update-style none; Se debe instalar el paquete nfs-kernel-server. 259
option domain-name "example.org"; Entonces, se debe hacer que la imagen del sistema de archivos 260
option domain-name-servers ns1.example.org, ns2.example.org;
esté disponible a través de NFS añadiendo una línea como la
default-lease-time 600; siguiente para /etc/exports:
max-lease-time 7200;
261
log-facility local7;
} el siguiente comando:
263
16
Manual Debian Live
265 4.8.4 Cómo probar el arranque en red live-build es una colección de scripts para generar los 277
17
Manual Debian Live
para crear un directorio de configuración en esqueleto, Usar lb config sin ningún argumento sería conveniente para 291
lb config. Ésto podría ser considerado como similar los usuarios que necesitan una imagen muy básica, o que
a herramientas tales como dh-make. Para obtener más tienen intención de proporcionar más tarde una configuración
información sobre lb config, consultar ‹El comando lb más completa a través de auto/config (ver ‹Gestionar una
config› configuración› para más detalles).
283 El resto de esta sección describe los tres comandos más Normalmente, se tendrá que especificar algunas opciones. Por 292
18
Manual Debian Live
Además, se pueden limpiar etapas de forma individual. Por de trabajos de cron y el inicio de sesión automático del usuario
ejemplo, si se han realizado cambios que sólo afectan a la en vivo.
etapa binary, se debe usar lb clean --binary antes de crear
una nueva binary. Ver el manual de lb_clean para una lista
6. Gestionar una configuración 307
detallada de todas sus opciones
Este capítulo explica como gestionar una configuración para 308
301 5.2 El paquete live-boot crear un sistema en vivo desde el principio, pasando por
sucesivas versiones tanto de la herramienta live-build como
de la imagen del sistema en vivo propiamente dicha.
302 live-boot es una colección de scripts que proporcionan scripts
gancho (hooks) para initramfs-tools, que sirve para generar un
initramfs capaz de arrancar los sistemas en vivo, tales como 6.1 Gestionar cambios en la configuración 309
los creados por live-build. Ésto incluye las ISOs de Debian Live,
archivos comprimidos en tar de netboot, e imágenes para llaves Las configuraciones en vivo rara vez son perfectas al primer 310
19
Manual Debian Live
el comando lb config con todas las opciones que se desea, reiniciará la configuración basándose en estas opciones.
el script auto/clean elimina los ficheros que contienen Cuando se desee realizar cambios, se deben editar las
variables de configuración y el fichero auto/build crea un opciones en este fichero en lugar de pasarlas a lb config.
build.log de cada creación. Cada uno de estos scripts se Cuando se utilize lb clean, auto/clean limpiará los ficheros
ejecuta automáticamente cada vez que se ejecuta la orden en config/* junto a los otros productos de construcción. Y,
lb correspondiente. Mediante el uso de estos scripts, la por último, cuando se utilice lb build, auto/build creará un
configuración es más fácil de leer y se mantiene internamente log del proceso de construcción llamado build.log.
coherente de una revisión a la siguiente. Además, será mucho Nota: Aquí se utiliza noauto, un parámetro especial para 320
más fácil identificar y corregir las opciones que necesitan suprimir otra llamada a auto/config, evitando así una
cambiarse tras actualizar live-build y leer la documentación repetición infinita. Asegurarse de no eliminarlo accidentalmente
actualizada. al hacer cambios en el fichero. Tener cuidado al dividir el
comando lb config en varias líneas para facilitar la lectura,
314 6.1.2 Usar scripts auto de ejemplo como se muestra en el ejemplo anterior, ya que no debe
olvidarse la barra invertida ( al final de cada línea que sigue en
315 Para mayor comodidad, live-build incluye scripts auto de la siguiente.
ejemplo que se pueden copiar y editar. Iniciar una nueva
configuración por defecto y a continuación, copiar los
6.2 Clonar una configuración publicada a través de 321
ejemplos:
Git
316
$ mkdir mylive && cd mylive && lb config Git que contenga una configuración de Debian Live. Si se
$ cp /usr/share/doc/live-build/examples/auto/* auto/ desea basar la configuración en una mantenida por el proyecto
Debian Live, visitar el repositorio en ‹http://live.debian.net/gitweb/›
317 Editar auto/config, añadiendo las opciones que se desee. Por con el nombre live-images bajo el título Packages. Este
ejemplo: repositorio contiene las configuraciones de las ‹imágenes
318 prefabricadas› de Debian Live.
20
Manual Debian Live
323 Por ejemplo, para construir una imagen de rescate, utilizar el y opcionalmente, hacer los cambios necesarios para adaptarlo
repositorio live-images de la siguiente manera: según las necesidades.
324 En cualquier caso, recordar que cada vez que se tiene que 331
Por ejemplo, las imágenes prefabricadas con paquetes que se puede personalizar un sistema Debian Live.
de la sección non-free se crean simplemente añadiendo
--archive-areas “main contrib non-free”.
7.1 Configuración en el momento de la creación vs en el 334
326 Si se desea, se puede definir un método abreviado en momento del arranque
la configuración de Git, añadiendo lo siguiente al fichero
${HOME}/.gitconfig: Las opciones de configuración de un sistema Debian Live se 335
21
Manual Debian Live
un ejemplo en ‹Personalización de las variantes locales e ficheros de código fuente de los paquetes utilizados.
idioma›.
336 Las opciones de configuración en tiempo de creación se En cada una de estas etapas hay una secuencia particular 339
describen en la página de manual del comando lb config. en la se aplican las acciones a realizar. Estas acciones son
Las opciones en tiempo de arranque se describen en las organizadas en forma de capas de tal manera que aseguran
páginas de manual de los paquetes live-boot y live-config. la personalización de una manera razonable. Por ejemplo,
Aunque los paquetes live-boot y live-config se instalan en el dentro de la etapa chroot , las preconfiguraciones (preseeds)
sistema en vivo que se está creando, también se recomienda se aplican antes que cualquier paquete sea instalado, los
que sean instalados en el sistema huésped, que se utiliza paquetes son instalados antes de incluir ningún fichero
para crear la imagen del sistema en vivo, con el fin de facilitar localmente y los scripts gancho (hooks) serán ejecutados al
la referencia cuando se trabaja en una configuración. No hay final de todo, una vez que todos los materiales están ubicados
ningún problema en hacerlo, ya que ninguno de los scripts que en su lugar.
contiene el sistema huésped será ejecutado, a menos que se
configure el sistema huésped como sistema en vivo.
7.3 Opciones para lb config en ficheros 340
338 El proceso de creación de la imagen está dividido en etapas en en el directorio config/, quizás sea necesario escribir ficheros
las que se aplican diferentes personalizaciones en cada una de de configuración adicionales dentro de la jerarquía de
ellas. La primera etapa que se ejecuta es la etapa bootstrap . subdirectorios de config/ con el fin de alcanzar los objetivos
Esta fase inicial crea y rellena el directorio chroot con paquetes propuestos. En el proceso de creación de la imagen estos
que constituyen un sistema Debian básico. A continuación ficheros adicionales serán copiados o en el sistema de
la etapa chroot completa la creación del directorio chroot, ficheros que se utilizará en el sistema en vivo, o en el
rellenándolo con todos los paquetes que han sido listados en sistema de ficheros de la propia imagen binaria o quizás
la configuración y material adicional. En esta etapa se utiliza podrán suministrar opciones de configuracion al sistema en
la mayoría de las personalizaciones de contenido. La etapa vivo que sería incomodo pasar en la línea de parámetros
binary es la etapa final en la que se prepara la imagen del del kernel. Esto dependerá de en qué parte de la jerarquía
sistema en vivo utilizando el contenido del directorio chroot de subdirectorios de config/ se copian estos ficheros. Se
para construir el sistema de ficheros raíz del futuro sistema en puede incluir cosas como listas de paquetes personalizadas,
vivo, se incluye el instalador y cualquier otro material adicional imágenes gráficas personalizadas o scripts gancho (hook
de la imagen que no es parte el sistema de ficheros raíz, como scripts) para ejecutar o en el momento de creación de la
puede ser el gestor de arranque (bootloader) o ficheros de imagen o en el momento de arranque del sistema en vivo,
documentación. Posteriormente, en la etapa opcional source aumentando la ya por otra parte considerable flexibilidad de
se creará el fichero comprimido (tarball) que contiene los Debian Live con código creado ex profeso.
22
Manual Debian Live
343 Los siguientes capítulos se organizan por tareas de 8.1 Origen de los paquetes 346
personalización que el usuario realiza típicamente: Los
capítulos de ‹Personalización de la instalación de paquetes›, 8.1.1 Distribución, áreas de archivo y modo 347
‹Personalización de contenidos› y ‹Personalización de las
variantes locales e idioma› cubren solamente unas pocas de La distribución seleccionada tiene gran impacto en qué 348
las tareas que pueden realizarse. paquetes están disponibles para incluir en la imagen. Se debe
indicar el nombre en clave de la distribución, que por defecto
es wheezy para la versión wheezy de live-build. Se puede
344 8. Personalización de la instalación de paquetes especificar cualquier nombre de distribución disponible en
los repositorios Debian indicando su nombre en clave. (Para
345 Quizás la tarea más básica de personalización en Debian más detalles ver ‹Términos›). La opción --distribution no
Live es la selección de paquetes que serán incluidos en solamente influencia la fuente de los paquetes dentro del
la imagen. Este capítulo orienta a través de las diferentes archivo Debian, sino que instruye a live-build a comportarse
opciones de live-build que, en el momento de la creación tal y como se necesita para construir cada una de las
de la imagen, personalizan la instalación de paquetes. Las distribuciones. Por ejemplo, para construir la versión inestable
opciones que seleccionan la distribucion base y las áreas , sid , se debe indicar:
del archivo Debian a utilizar son las que más influyen a la
349
hora de conocer qué paquetes estarán disponibles para su
instalación en la imagen. Para asegurar una buena velocidad
$ lb config --distribution sid
de descarga de paquetes, se debería elegir el repositorio
Debian más cercano. Se pueden añadir repositorios para
backports, experimentales, paquetes personalizados o incluir Las áreas del archivo Debian son la principal división de 350
ficheros de paquetes directamente. Se pueden definir listas paquetes dentro de una distribución dada. En Debian las
de paquetes personalizadas, incluyendo metapaquetes que áreas del archivo establecidas son main, contrib y non-free.
instalarán muchos paquetes relacionados, como por ejemplo Solamente los paquetes contenidos en main son parte de la
paquetes de un entorno de escritorio o lenguaje particular. distribución Debian. Ésta es el área definida por defecto en
Por último existen varias opciones que dan algún control live-build. Se pueden indicar uno o más valores tal y como se
sobre cuando son instalados los paquetes por la herramienta muestra en el siguiente ejemplo:
apt o la herramienta aptitude, según sea la elegida. Estas 351
23
Manual Debian Live
derivada de Debian mediante la opción --mode. Por defecto, en los valores de las opciones --mirror-binary y --mirror-
esta opción toma el valor debian sólo si se está construyendo binary-security en lugar de utilizar los indicados para las
en un sistema Debian o en un sistema desconocido. Si etapas anteriores.
se utiliza lb config en cualquiera de las distribuciones
derivadas a las que se da soporte, por defecto se construirá
8.1.3 Réplicas de Distribution utilizadas durante la 356
una imagen de esa distribución derivada. Por ejemplo, si lb
creación
config se ejecuta en modo ubuntu se utilizará el nombre
de esa distribución y las áreas de archivos específicas de
Para indicar qué réplicas deben ser utilizadas en el momento 357
esa distribución derivada en lugar de los propios de Debian
de crear la imagen es suficiente con utilizar las opciones --
y live-build modificará su comportamiento para adecuarlo al
mirror-bootstrap , --mirror-chroot-security y --mirror-
modo seleccionado.
chroot-backports como se muestra a continuación.
353 Nota: La ayuda a los usuarios de las distribuciones para las 358
cuales se añadieron estos modos son responsabilidad de los
desarrolladores de dichas distribuciones. El proyecto Debian
$ lb config --mirror-bootstrap http://localhost/debian/ \
Live proporciona ayuda al desarrollo de la mejor manera --mirror-chroot-security http://localhost/debian-security/ \
posible, basándose en la información recogida de dichas --mirror-chroot-backports http://localhost/debian-backports/
355 Los repositorios de Debian están replicados en una gran red 8.1.4 Réplicas de distribución Debian utilizadas en la 360
réplica de repositorio Debian se utiliza en las diferentes etapas configuradas en la imagen binaria que serán utilizadas para
de creación. Si se recuerda de ‹Etapas de la creación›, en la instalar paquetes adicionales mientras se ejecuta el sistema
etapa bootstrap es cuando se crea el directorio chroot con un en vivo. Por defecto se utiliza http.debian.net, que es un
sistema mínimo mediante la herramienta debootstrap, y en la servicio que selecciona la réplica más cercana basándose,
etapa chroot es cuando el directorio chroot es completado con entre otras cosas, en la familia de la IP del usuario y de la
los paquetes necesarios para crear el sistema de ficheros que disponibilidad de la réplica. Es una elección bastante acertada
será utilizado en el sistema en vivo. A cada una de estas etapas siempre que no se pueda predecir que réplica será la mejor
le corresponde su propia opción --mirror-*. Posteriormente, para todos los usuarios. También se puede especificar valores
en la etapa binary se utilizarán las réplicas Debian indicadas personalizados como se muestra en el siguiente ejemplo. Una
24
Manual Debian Live
$ lb config --mirror-binary http://mirror/debian/ \ En caso de necesitar un APT pinning personalizado, las 370
--mirror-binary-security http://mirror/debian-security/ \
--mirror-binary-backports http://mirror/debian-backports/
preferencias de APT se pueden colocar mediante ficheros
config/archives/your-repository.pref.{binary,chroot},
y serán añadidos automáticamente al sistema en vivo en el
363 8.1.5 Repositorios adicionales directorio /etc/apt/preferences.d/.
25
Manual Debian Live
8.2.1 Listas de paquetes 375 que una forma rápida de determinar cuales están disponibles
(aunque puede contener un puñado de entradas falsas que
376 Las listas de paquetes proporcionan una potente forma de coincidan con el nombre, pero que no son metapaquetes) es
expresar qué paquetes deberían ser instalados. La sintaxis buscar el nombre del paquete con:
de las listas soporta las expresiones condicionales, que
383
facilitan la creación de listas, adaptando su utilización a
diversas configuraciones. También se pueden añadir nombre
$ apt-cache search --names-only ^task-
de paquetes en la listas utilizando shell helpers en tiempo de
construcción.
377 Nota: El comportamiento de live-build cuando se especifica Además de éstos, se encuentran otros metapaquetes con 384
un paquete que no existe es determinado por lo que se haya diversos fines. Algunos son subconjuntos de paquetes de
configurado en la utilidad APT. Para más detalles ver ‹Utilizar tareas más amplias, como gnome-core, mientras que otros
apt o aptitude›. son partes especializadas individuales de un Debian Pure
Blend, como los metapaquetes education-*. Para tener una
lista de todos los metapaquetes en el archivo, instalar el
378 8.2.2 Utilizar metapaquetes paquete debtags y listar todos los paquetes con la etiqueta
role::metapackage de la siguiente manera:
379 La manera más sencilla de rellenar una lista de paquetes es
utilizar una tarea metapaquete mantenida por una distribución. 385
Por ejemplo:
$ debtags search role::metapackage
380
$ lb config
$ echo task-gnome-desktop > config/package-lists/desktop.list.chroot 8.2.3 Listas de paquetes locales 386
381 Esto reemplaza el antiguo método de listas predefinidas Ya sea incluyendo metapaquetes en una lista, paquetes 387
compatible con live-build 2.x. A diferencia de las listas individuales, o una combinación de ambos, todas las listas de
predefinidas, los metapaquetes de tareas no son específicos paquetes locales se deben almacenar en config/package-
del proyecto Debian Live. Por el contrario, son mantenidas lists/. Ya que se puede utilizar más de una lista, esto se
por grupos de especialistas que trabajan en la distribución y presta muy bien a los diseños modulares. Por ejemplo, se
por lo tanto, reflejan el consenso de cada grupo acerca de puede dedicar una lista a una elección particular de escritorio,
qué paquetes sirven mejor a las necesidades de los usuarios. la otra a una colección de paquetes relacionados que puedan
Además, abarcan una gama mucho más amplia de casos de ser fácilmente utilizados sobre un escritorio diferente. Esto
uso que las listas predefinidas a las que sustituyen. permite experimentar con diferentes combinaciones de
382 Todos los metapaquetes de tareas tienen el prefijo task-, por lo conjuntos de paquetes con un mínimo esfuerzo, así como
26
Manual Debian Live
compartir listas comunes entre diferentes proyectos de De hecho, la selección de paquetes con la orden grep- 394
imágenes en vivo. aptavail (del paquete dctrl-tools) es tan útil que live-build
proporciona un script de ayuda llamado Packages. Este script
388 Para que sean procesadas, las listas de paquetes que se
acepta dos argumentos: field y pattern. Por lo tanto, se
depositen en este directorio deben tener la extensión .list
puede crear una lista con los siguientes contenidos:
además de la extensión de la etapa .chroot o .binary para
indicar a qué etapa corresponde la lista. 395
paquetes
390 8.2.4 Listas de paquetes locales para la etapa binary
En las sentencias condicionales de las listas de paquetes 397
391 Para crear una lista para la etapa «binary» crear un fichero pueden utilizarse cualquier variable disponible en config/*
con el sufijo .list.binary en config/package-lists/. Estos (excepto las que tienen el prefijo LB_). En general esto significa
paquetes no son instalados en el sistema en vivo, pero son que puede utilizarse cualquier opción válida para lb config
incluidos en pool/. El uso típico de una de estas lista sería para cambiando las letras minúsculas por mayúsculas y los guiones
una de las variantes de instalador normal («non-live» N.del T.). por barras bajas. En la práctica solamente tiene sentido
Tal y como se mencionaba anteriormente, si se desea usar la utilizar aquellas variables relacionadas con la selección de
misma lista para la etapa «chroot» basta con solamente añadir paquetes, como pueden ser DISTRIBUTION, ARCHITECTURES o
el sufijo .list ARCHIVE_AREAS.
27
Manual Debian Live
arquitectura es i386 (--architectures i386) o es amd64 Cuando se desarolla una imagen de escritorio, la imagen 407
correspondiente. Para ello existen las tareas internas gnome- las imágenes uno o más tipos de kernels. Se puede elegir
desktop, kde-desktop, lxde-desktop y xfce-desktop pero
entre diferentes tipos utilizando la opción --linux-flavours.
ninguna de ellas son presentadas en el menú de tasksel. De Cada tipo tiene el sufijo de la raíz predeterminada linux-image
igual forma, las tareas para idiomas tampoco son presentadas para formar el nombre de cada metapaquete que a su vez
en el menú de tasksel, pero la selección del idioma, al inicio de depende del paquete del kernel exacto que debe incluirse en
la instalación repercute en la selección de las correspondientes la imagen.
tareas del idioma. Así, por defecto, una imagen de arquitectura amd64 incluirá el 412
28
Manual Debian Live
metapaquete linux-image-amd64 y una imagen de arquitectura Si se opta por construir los paquetes del kernel sin los 418
i386 incluirá los metapaquetes linux-image-486 y linux- metapaquetes adecuados, es necesario especificar una raíz
image-686-pae. En el momento de escribir esto, los paquetes --linux-packages apropiada como se indica en ‹Versión y
dependen, respectivamente, de linux-image-3.2.0-4-amd64, tipo de kernel›. Tal y como se explica en ‹Instalar paquetes
linux-image-3.2.0-4-486 y linux-image-3.2.0-4-686- modificados o de terceros›, es mejor si se incluyen los
pae paquetes del kernel personalizado en un repositorio propio,
aunque las alternativas discutidas en esa sección también
413 Cuando hay más de una versión del paquete del kernel
funcionan.
disponible en los archivos configurados, se puede especificar
el nombre de un paquete del kernel diferente con la opción Está más allá del alcance de este documento dar consejos 419
--linux-packages. Por ejemplo, suponer que se está sobre cómo personalizar un kernel. Sin embargo, se debe
construyendo una image de arquitectura amd64 y se quiere por lo menos, asegurarse de que la configuración cumple los
añadir el archivo experimental a fin de realizar pruebas para siguientes requisitos mínimos:
que se pueda instalar el kernel linux-image-3.7-trunk-amd64.
• Utilizar un ramdisk inicial. 420
Se podría configurar la imagen de la siguiente manera:
414
• Incluir el módulo de unión de sistemas de ficheros 421
(normalmente aufs).
$ lb config --linux-packages linux-image-3.7-trunk • Incluir todos los módulos de sistemas de ficheros requeridos 422
$ echo "deb http://ftp.debian.org/debian/ experimental main" > config/←-
archives/experimental.list.chroot
por la configuración (normalmente squashfs).
416 Se pueden crear e incluir kernels personalizados, pero hay que ocasiones es necesario crear un sistema en vivo con
tener en cuenta que live-build sólo soporta los kernels que versiones de paquetes modificados a partir de los disponibles
se integran en el sistema de gestión de paquetes de Debian en el repositorio de Debian. Estos paquetes pueden modificar
y no es compatible con kernels que no esten en paquetes características existentes o dar soporte a características
.deb. adicionales, idiomas y derivados (branding), o eliminar
elementos existentes en los paquetes que no son de interes.
417 La manera apropiada y recomendada de implementar los
De manera similar, se pueden incluir paquetes «de terceros»
propios paquetes del kernel es seguir las instrucciones del
para añadir funcionalidades a medida o propietarias.
kernel-handbook. Recordar modificar el ABI y los sufijos de
los tipos del kernel e incluir los paquetes del kernel completo En esta sección no se describe la creación o mantenimiento 425
en un repositorio que coincidan con los paquetes linux y de paquetes personalizados. Puede ser interesante una
linux-latest. lectura del método descrito por Joachim Breitner `How to
29
Manual Debian Live
fork privately' en
‹http://www.joachim-breitner.de/blog/archives/ 8.3.2 Método de repositorio APT para instalar paquetes 437
429 El método packages.chroot es el más simple para añadir Aunque crear un repositorio APT para instalar paquetes 439
paquetes personalizados. Es muy útil para personalizaciones personalizados puede parecer un esfuerzo innecesaro, la
«rápidas» pero tiene unos cuantos inconvenientes mientras infraestructurar puede ser fácilmente reutilizada posteriormente
que la utilización de un repositorio APT personalizado es más para ofrecer nuevas versiones de los paquetes.
lento de poner en marcha.
8.3.3 Paquetes personalizados y APT 440
30
Manual Debian Live
que APT utilizará cuando se ejecute el sistema en vivo 8.4.3 Ajuste de APT para ahorrar espacio 452
incluyendo las configuraciones apropiadas en el directorio en el medio de instalación. Las dos opciones descritas a
config/includes.chroot/.) Se puede encontrar una lista continuación pueden ser de interes.
completa de las opciones para configurar APT en la página de Si no se desea incluir los índices de APT en la imagen creada 454
manual de lb_config. Son aquellas opciones que comienzan se puede utilizar la siguiente opción:
con apt.
455
31
Manual Debian Live
recomendado por live-config que se utiliza para crear el se pueden especificar. Así, por ejemplo, supongamos que se
usuario en vivo. En todas menos en las circunstancias más ha incluido algo con fines de prueba de snapshot.debian.org
excepcionales es necesario volver a añadir por lo menos y se desea especificar Acquire::Check-Valid-Until=false
algunos de los «recommends» en las listas de paquetes o para que APT esté feliz con el fichero Release caducado, se
de lo contrario la imagen no funcionará como se espera, haría como en el ejemplo siguiente, añadiendo la opción de
si es que funciona en lo más minimo. Mirar los paquetes nuevo después del valor por defecto --yes:
recomendados por cada uno de los paquetes live-* incluidos 463
en la construcción y si no se está seguro de que es lo que
se puede omitir, volver a agregarlo utilizando las listas de
$ lb config --apt-options "--yes -oAcquire::Check-Valid-Until=false"
paquetes.
460 La consecuencia más general es que, si no se instalan los Consultar las páginas de manual para entender completamente 464
paquetes recomendados para un paquete dado, esto es «los estas opciones y cuándo utilizarlas. Esto es sólo un ejemplo
paquetes que supuestamente deberían encontrase intalados y no debe ser interpretado como consejo para configurar la
si un paquete ya lo está» (Debian Policy Manual, seccion 7.2), imagen. Esta opción no sería apropiada para, por ejemplo,
algún paquete que supuestamente debería estar instalado una versión final de una imagen en vivo.
será omitido. Por lo tanto, se sugiere que si se desactiva esta
Para configuraciones más complicadas que implican opciones 465
opción, se revise las diferencias en las listas de paquetes
apt.conf puede ser necesario crear un fichero config/-
instalados (ver el fichero binary.packages generado por lb
apt/apt.conf. Ver tambien las otras opciones apt-* para
build) y que se vuelva a incluir en la lista cualquier paquete
tener algunos atajos convenientes para las opciones que se
que deba ser instalado. Si se considera que el número de
necesitan con frecuencia.
paquetes a descartar es pequeño, se recomienda que la
opción se deje activada y que se utilice una prioridad pin
negativa de APT en dichos paquetes y así evitar que sean 8.4.5 APT pinning 466
en cuenta que ambas opciones tienen valores por defecto en wheezy pero se necesita instalar todos los paquetes “live”
que tendran que mantenerse, además de las opciones que que terminan instalados en la imagen binaria final desde la
32
Manual Debian Live
conseguirse añadiendo un fichero con el siguiente contenido a reemplazar ficheros en el sistema de ficheros chroot. Para
config/apt/preferences: más información ver ‹Includes locales en Live/chroot›
471 • Includes locales en Binary: Estos includes permiten incluir o 477
33
Manual Debian Live
Para más infomación acerca de la diferencia entre las 478 | `-- var
| `-- www
imágenes “Live” y “binary” ver ‹Términos› | `-- index.html
[...]
480 Los includes locales en chroot se utilizan para incluir o la instalación de los paquetes de manera que los includes
reemplazar ficheros en el sistema de ficheros Live/chroot sobreescribirán cualquier fichero que los paquetes puedan
de manera que puedan ser utilizados en el sistema en vivo. haber instalado.
Una utilización típica de estos includes puede ser rellenar
el directorio (/etc/skel) usado por el sistema Live para 9.1.2 Includes locales en Binary 486
o reemplazados en la imagen sin necesidad de realizar el sistema de ficheros del medio (USB, CDROM, etc) donde
procesado alguno; Si se necesita realizar algún procesado se grabará la imagen de manera que sea accesible nada más
de estos ficheros ver la sección ‹Scripts gancho locales en insertar el medio sin necesidad de arrancar el sistema en vivo.
Live/chroot› Para esto se utilizan los includes locales en Binary. Funciona
de manera similar a los includes locales en chroot comentados
481 Para incluir ficheros solamente hace falta añadirlos al directorio
anteriormente. Por ejemplo, supongamos que en el medio
de configuración config/includes.chroot. Habrá una relación
de instalación se desea añadir unos ficheros con videos de
directa entre este directorio y el directorio raíz / del sistema en
demostración ~/video_demo.* sobre el funcionamiento del
vivo. Por ejemplo, si se desea añadir un fichero para que sea
sistema en vivo de manera que el usuario pueda acceder a
el fichero /var/www/index.html del sistema en vivo se puede
ellos a través de la página de indice HTML. Simplemente se
hacer lo siguiente:
debe copiar el material en config/includes.binary/ de la
482 siguiente manera:
488
$ mkdir -p config/includes.chroot/var/www
$ cp /path/to/my/index.html config/includes.chroot/var/www
$ cp ~/video_demo.* config/includes.binary/
34
Manual Debian Live
personalizar la imagen en las etapas chroot y binary. 9.2.3 Scripts gancho locales en Binary 496
494 9.2.2 Scripts gancho en tiempo de arranque .cfg seguido por la etapa (.chroot o .binary) son ficheros
de preconfiguración para debconf. live-build instalará estos
495 Para ejecutar ordenes en el arranque del sistema en vivo, se ficheros mediante debconf-set-selections durante la etapa
puede suministrar scripts gancho a live-config depositándolos correspondiente.
en el directorio config/includes.chroot/lib/live/config/, Ver debconf(7) en el paquete debconf para obtener más 500
tal y como se explica en la sección de “Personalización” de información acerca de debconf.
la página de manual de live-config. Es interesante examinar
los scripts gancho que trae de serie live-config que pueden
verse en /lib/live/config/ y fijarse en la secuencia de 10. Personalización del comportamiento en tiempo de 501
como se describe en ‹Instalar paquetes modificados o de realizada por live-config. Éstas son algunas de las opciones
terceros›. más comunes de live-config en las que los usuarios están más
35
Manual Debian Live
503 10.1 Personalización del usuario por defecto del sistema $ lb config --bootappend-live "boot=live config username=live-user"
en vivo
Una posible forma de cambiar la contraseña por defecto es 511
504 Una consideración importante es que el usuario por defecto usando un script gancho (hook) tal y como se describe en
del sistema en vivo es creado por live-boot en el arranque y ‹Scripts gancho en tiempo de arranque›. Para conseguirlo se
no live-build durante la creación de la imagen. Ésto no sólo puede usar el script gancho «passwd» de /usr/share/doc/-
influye dónde se introducen los materiales relacionados con live-config/examples/hooks, ponerle un prefijo adecuado
este usuario durante la creación de la imagen tal y como se (p.ej. 2000-passwd) y añadirlo a config/includes.chroot/-
explica en ‹Includes locales en Live/chroot› sino también a lib/live/config/
cualquier grupo y a los permisos asociados con el usuario por
defecto del sistema en vivo.
10.2 Personalización de las variantes locales e 512
509 Cambiar el nombre del usuario por defecto es tan sencillo como del kernel, al igual que los parámetros de configuración del
36
Manual Debian Live
520 live-config se encarga de la configuración del teclado incluir otros parámetros. Por ejemplo, para configurar un
de la consola y del entorno gráfico X utilizando el paquete sistema Francés con una disposición French-Dvorak (también
console-setup. Para configurarlos se puede utilizar los llamado Bepo) en un teclado USB TypeMatrix EZ-Reach 2030,
parámetros de arranque keyboard-layouts, keyboard- utilizar:
variants, keyboard-options y keyboard-model a través de la
526
opción --bootappend-live. Se puede encontrar una lista de
opciones válidas para estos parámetros en /usr/share/X11/-
$ lb config --bootappend-live \
xkb/rules/base.lst. Para hallar la distribución del teclado y "boot=live config locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard←-
la variante que corresponde a un idioma se puede buscar el -variants=bepo keyboard-model=tm2030usb"
nombre en inglés de la nación donde se habla el idioma, por
ejemplo:
521
Para cada una de las variables de configuración del teclado 527
524
37
Manual Debian Live
comportamiento predeterminado, se debe considerar un de ficheros que pueda ser leido (incluso una partición NTFS
sistema de sólo lectura y todos los cambios en tiempo de de otro sistema operativo), identificado por su nombre de
ejecución del sistema se pierden al apagar el equipo. fichero.
532 La «persistencia» es un nombre común que se da a los La etiqueta del volumen para las overlays debe ser 538
diferentes tipos de soluciones para guardar algunos o todos persistence pero será ignorado a menos que contenga
los cambios realizados durante la ejecución tras reiniciar en su raíz un fichero llamado persistence.conf que se
el sistema. Para entender cómo funciona es útil saber que utiliza para personalizar la persistencia del volumen, esto
incluso si el sistema se inicia y se ejecuta desde los medios es, especificar los directorios que se desea guardar en un
de almacenamiento de sólo lectura, las modificaciones de los volumen de persistencia después de reiniciar. Ver ‹El fichero
ficheros y directorios se escriben en medios de escritura, por persistence.conf› para más detalles.
lo general en la memoria ram (tmpfs) y los datos guardados
He aquí algunos ejemplos de cómo preparar un volumen para 539
en la ram se pierden al reiniciar.
ser usado para la persistencia. Puede ser, por ejemplo, una
533 Los datos almacenados en esta memoria ram se pueden partición en un disco duro o en una llave usb creada con,
guardar en un soporte grabable, como un medio de p.ej.
almacenamiento local, un recurso compartido en red o incluso 540
en una sesión de un CD/DVD regrabable en multisesión. Todos
estos medios son compatibles con Debian Live de diferentes
# mkfs.ext4 -L persistence /dev/sdb1
maneras y todos, menos el último, requieren un parámetro
de arranque especial que se especificará en el momento del
arranque: persistence. Ver ‹Usar el espacio libre en el dispositivo USB›. 541
534 Si se usa el parámetro de arranque persistence (y no se Si ya existe una partición en el dispositivo, sólo se tiene que 542
usa la opción nopersistence), se busca en los medios de cambiar la etiqueta con uno de los siguientes:
almacenamiento locales (p.ej. discos duros, llaves USB) 543
38
Manual Debian Live
548 Después, crear el fichero persistence.conf añadiendo contenidos de /home y /var/cache/apt se copiarán en el
contenido y desmontar el fichero imagen. volumen persistente y a partir de ese momento todos los
cambios en esos directorios se guardarán allí. Tener en cuenta
549
que las rutas listadas en el fichero persistence.conf no
pueden contener espacios en blanco ni los componentes
# echo "/usr union" >> /mnt/persistence.conf
especiales . y ... Además, ni /lib, /lib/live (o ninguno
# umount /mnt
de sus sub-directorios) ni / pueden hacerse persistentes
montándolos de forma personalizada. Una posible alternativa
550 Ahora, reiniciar y arrancar el medio en vivo con el parámetro a esta limitación es añadir / union al fichero persistence.conf
de arranque “persistence”. para conseguir una persistencia completa.
39
Manual Debian Live
10.3.2 Utilizar varios medios persistentes 556 de uso personal como los marcadores de un navegador o
similares utilizaría los parámetros de arranque: persistence
557 Existen diferentes métodos para utilizar múltiples volúmenes persistence-label=private. Y para almacenar datos
de persistencia para diferentes casos de uso. Por ejemplo, relacionados con el trabajo, como documentos, proyectos
utilizar varios volúmenes al mismo tiempo o seleccionar sólo de investigación o de otro tipo, utilizaría los parámetros de
uno, entre varios, para fines muy específicos. arranque: persistence persistence-label=work.
558 Se puede usar diferentes volúmenes de overlays al mismo Es importante recordar que cada uno de estos volúmenes, 561
tiempo (con sus propios ficheros persistence.conf) pero private y work, necesita también un fichero persistence.conf
si varios volúmenes hacen que un mismo directorio sea en su raíz. La página de manual de live-boot contiene
persistente, sólo uno de ellos será usado. Si dos unidades más información acerca de cómo utilizar estas etiquetas
montadas están “anidadas” (es decir, una es un sub-directorio con los antiguos nombres que se utilizaban en anteriores
de la otra) el directorio superior será montado antes que el versiones.
inferior de este modo no quedará uno escondido por el otro. La
personalización de los montajes anidadados es problemática
si están listados en el mismo fichero persistence.conf. 11. Personalización de la imagen binaria 562
normalmente no lo es).
live-build utiliza syslinux y algunos de sus derivados (en función 564
559 Un posible caso de uso: Si se desea guardar los datos del del tipo de imagen) como gestores de arranque por defecto. Se
usuario, es decir /home y los datos del superusuario, es decir pueden personalizar fácilmente de dos maneras.
/root en particiones diferentes, crear dos particiones con la
etiqueta persistence y añadir un fichero persistence.conf en Para utilizar un tema completo, copiar /usr/share/live/- 565
cada una de este modo, # echo “/home” > persistence.conf build/bootloaders en config/bootloaders y editar los
para la primera partición que guardará los ficheros del usuario y ficheros allí. Si no se desea modificar todas las configuraciones
# echo “/root” > persistence.conf para la segunda partición del gestor de arranque disponibles, es suficiente con sólo
que almacenará los ficheros del superusuario. Finalmente proporcionar una copia local personalizada de uno de los
utilizar el parámetro de arranque persistence. gestores de arranque, por ejemplo, copiar la configuración
de isolinux en config/bootloaders/isolinux es suficiente,
560 Si un usuario necesita un almacenamiento persistente múltiple
dependiendo del caso de uso.
del mismo tipo para diferentes lugares o pruebas, tales como
private y work, el parámetro de arranque persistence-label Se pueden hacer cambios más pequeños. Por ejemplo, los 566
usado junto con el parámetro de arranque persistence derivados de syslinux están configurados por defecto con un
permitirá medios de almacenamiento persistentes múltiples tiempo de espera de 0 (cero) lo que significa que harán una
pero únicos. Un ejemplo sería, si un usuario desea utilizar pausa indefinida en su pantalla de inicio hasta que se pulse
una partición persistente etiquetada private para datos una tecla.
40
Manual Debian Live
567 Para modificar el tiempo de espera de arranque de una debería especificar la aplicación que estará en la imagen.
imagen iso-hybrid se puede editar un fichero isolinux.cfg La longitud máxima para este campo es de 128 caracteres.
especificando el tiempo de espera en unidades de segundo y • LB_ISO_PREPARER/--iso-preparer NAME: Esto debería 576
agregarlo a config/includes.binary/isolinux/ identificar quién prepara la imagen, por lo general con
568 Un fichero isolinux.cfg modificado para arrancar después de algunos detalles de contacto. El valor predeterminado para
cinco segundos sería así: esta opción es la versión de live-build que se está utilizando,
lo que puede ayudar con la posterior depuración de errores.
569
La longitud máxima para este campo es de 128 caracteres.
include menu.cfg • LB_ISO_PUBLISHER/--iso-publisher NAME: Esto debería 577
default vesamenu.c32 identificar quién publica la imagen, por lo general con
prompt 0
timeout 50
algunos detalles de contacto. La longitud máxima para este
campo es de 128 caracteres.
570 Una forma alternativa de lograr el mismo objetivo podría ser • LB_ISO_VOLUME/--iso-volume NAME: Esto debería especificar 578
escribiendo un script gancho y agregarlo a config/hooks/.- el volumen de identificación de la imagen. Esto se utiliza
Recordar añadir el sufijo .binary para que sea ejecutado en la como etiqueta visible para el usuario en algunas plataformas
etapa binary. Un ejemplo podría ser: como Windows y Apple Mac OS. La longitud máxima para
571
este campo es de 32 caracteres.
41
Manual Debian Live
instalador: Una vez finalizada esta etapa, el Instalador de Debian continua 589
Instalador de Debian estándar, de la misma manera que lo «live», en el mismo medio, se debe deshabilitar el live-installer.
haría si se arrancase desde una imagen de CD descargada Esto se hace utilizando la variable de preconfiguración
desde el sitio oficial de Debian. Las imágenes que contienen (preseed) live-installer/enable=false.
un sistema en vivo con otro instalador independiente se suelen Instalador Debian «del escritorio» : Una vez el sistema 591
llamar «imágenes combinadas». en vivo está ejecutandose, se puede lanzar el Instalador de
585 En estas imágenes, el sistema operativo Debian se instala Debian haciendo clic en el icono correspondiente, sin importar
mediante la herramienta debootstrap que descarga paquetes el tipo de Instalador Debian utilizado en el arranque. Esta
.deb desde medios locales o por red. El resultado final es un manera de instalar Debian es más sencilla para el usuario
sistema Debian por defecto instalado en el disco duro. y aconsejable en algunas situaciones. Para poder realizar
esta acción se debe instalar el paquete debian-installer-
586 El conjunto de este proceso puede ser preconfigurado launcher.
(preseeded) y personalizado de muchas maneras; Para más
Por defecto, live-build no incluye las imágenes que utilizan 592
información, ver las páginas relevantes en el manual del
el Instalador de Debian. Esto debe ser habilitado de forma
Instalador de Debian. Una vez que se ha generado el fichero
específica en lb config. También hay que hacer notar que,
de preconfiguración adecuado a las necesidades, live-build
para que la instalación desde «el escritorio» funcione, el kernel
puede encargarse de depositarlo en la imagen y activarlo de
del sistema en vivo debe ser el mismo que el kernel que utiliza
forma automática.
d-i en la arquitectura especificada. Por ejemplo:
587 Imágenes con Instalador Debian «Live» : Estas imágenes 593
de Debian Live también disponen de un kernel y un
initrd diferenciados que, al ser seleccionados desde el $ lb config --architectures i386 --linux-flavours 486 \
gestor de arranque, ejecutan un Instalador de Debian algo --debian-installer live
$ echo debian-installer-launcher >> config/package-lists/my.list.chroot
diferente.
588 El procedimiento de instalación es idéntico al realizado por las
imagenes «Regulares» pero, en lugar de utilizar debootstrap 12.2 Personalizando el Instalador de Debian mediante 594
mediante un .udeb especial llamado live-installer. del Instalador de Debian que puede consultarse en ‹http:
42
Manual Debian Live
›, «La preconfiguración
//www.debian.org/releases/stable/i386/apb.html 599 Proyecto
permite asociar respuestas a preguntas que aparecen
en el proceso de instalación, sin tener que responderlas 600 13. Contribuir al proyecto
manualmente en el momento se se ejecuta dicho proceso.
Esto hace posible automatizar totalmente la mayoria de las Cuando se envía una contribución se debe identificar 601
instalaciones e incluso ofrece alguna característica que no claramente su copyright e incluir la declaración de licencia. Se
está disponible durante una instalación normal.» Con live-build hace notar que para ser aceptada, una contribución debe ser
se puede llevar a cabo esta personalización depositando un publicada bajo la misma licencia que el resto del documento,
fichero llamado preseed.cfg en el directorio de configuración es decir, GPL versión 3 o posterior.
config/debian-installer/. Por ejemplo, para preconfigurar
Las contribuciones al proyecto, tales como traducciones y 602
la variante local a en_US se puede hacer:
parches, son muy bienvenidas. Cualquiera puede hacer una
entrega en los repositorios, sin embargo, a la hora de hacer
596 grandes cambios, es conveniente enviarlos a la lista de correo
para debatirlos primero. Ver la sección ‹Contacto› para más
$ echo "d-i debian-installer/locale string en_US" \
información.
>> config/debian-installer/preseed.cfg
El proyecto Debian Live utiliza Git como sistema de control 603
rechazará:
598 Es posible que, con propósitos experimentales o para • Entregas que no sean fast-forward 605
43
Manual Debian Live
614 • Obtener la clave pública de entrega: • Efectuar los cambios. En este ejemplo, primero se escribiría 623
44
Manual Debian Live
627 14. Informes de errores. y solucionar correctamente problemas de los paquetes de las
distribuciones en desarrollo, sin embargo, hay dos cosas que
628 Debian Live está lejos de ser perfecto, pero queremos que sea siempre se puede intentar: Si se detecta un error de creación
lo más perfecto posible - con tu ayuda. No dudar en informar de cuando la distribución de destino es testing , se debe intentar
un error. Es mejor llenar un informe dos veces que no hacerlo con unstable . Si unstable no funciona bien, se debe volver a
nunca. Sin embargo, este capítulo incluye recomendaciones testing haciendo un pin con la nueva versión del paquete de
sobre cómo presentar buenos informes de errores. unstable (véase ‹APT pinning› para más detalles).
629 Para los impacientes:
630 • Primero, siempre se debe comprobar el estado actualizado 14.2 Reconstruir desde cero 638
45
Manual Debian Live
644 Para sacar el máximo provecho de un informe de errores, se listas de archivos de los subdirectorios de config / pero no los
requerirá al menos la siguiente información: incluye).
645 • Arquitectura del sistema anfitrión Hay que recordar que los informes a enviar se deben hacer en 657
646 • La versión de live-build del sistema anfitrión. ingles, por lo que para generar los logs en este idioma se debe
utilizar la variante local English, p.ej. ejecutar los comandos
647 • Versión de debootstrap y/o cdebootstrap en el sistema de live-build o cualquier otro precedidos de LC_ALL=C o
anfitrión. LC_ALL=en_US.
650 • Versión de live-boot en el sistema en vivo. Si es posible, aislar el caso del fallo al menor cambio posible 659
651 • Versión de live-config en el sistema en vivo. que lo produzca. No siempre es fácil hacer esto, así que si
no se consigue para el informe, no hay que preocuparse.
652 • Versión de live-tools en el sistema en vivo. Sin embargo, si se planea el ciclo de desarrollo bién, con
653 Se puede generar un log del proceso de creación mediante el conjuntos de cambios lo bastante pequeños por iteración,
comando tee. Se recomienda hacer esto de forma automática puede ser posible aislar el problema mediante la construcción
con un script auto/build (ver ‹Gestionar una configuración› de una simple «base» de configuración que se ajuste a la
para más detalles). configuración actual deseada, más el conjunto del cambio
que falla añadido. Si resulta difícil determinar que cambios
654
produjeron el error, puede ser que se haya incluido demasiado
en cada conjunto de cambios y se deba desarrollar en
# lb build 2>&1 | tee build.log incrementos más pequeños.
656 Además, para descartar otros errores, siempre es una buena Si no se sabe qué componente es responsable del error o si 661
idea comprimir en un .tar el directorio config/ y subirlo a algún el error es un error general relativo a los sistemas en vivo, se
lugar, para que el equipo de Debian Live pueda reproducir el puede rellenar un informe de errores contra el pseudo-paquete
error (No se debe enviar como documento adjunto a la lista de debian-live.
correo). Si esto es difícil (por ejemplo, debido a su tamaño)
se puede utilizar la salida del comando lb config --dump Sin embargo, se agradece si se intenta limitar la búsqueda a 662
que produce un resumen del árbol de configuración (es decir, donde aparece el error.
46
Manual Debian Live
creación.
Si la imagen no arranca, se debería informar a la lista de 671
664 live-build crea primero un sistema Debian básico con correo, junto con la información solicitada en ‹Recopilar
debootstrap o cdebootstrap. Puede fallar dependiendo de información›. No hay que olvidar mencionar, cómo y cuándo la
la herramienta usada en la preinstalación y de la distribución imagen falla, si es utilizando virtualización o hardware real. Si
Debian empleada. Si un error aparece en este momento, se se está utilizando una tecnología de virtualización de cualquier
debe comprobar si está relacionado con un paquete específico tipo, se debe probar la imagen en hardware real antes de
de Debian (es lo más probable), o si está relacionado con la informar de un error. Proporcionar una captura de pantalla del
herramienta de preinstalación en sí. error también es muy útil.
665 En ambos casos, esto no es un error de Debian Live, sino
de Debian en sí mismo, por lo cual el equipo de Debian Live 14.6.4 En tiempo de ejecución 672
667 live-build instala paquetes adicionales del archivo de Debian Antes de presentar el informe de errores, buscar en la web 675
que pueden fallar en función de la distribución Debian utilizada el mensaje de error en particular o el síntoma que se está
y del estado diario del archivo Debian. Se debe comprobar si percibiendo. Como es muy poco probable que sea la única
el error es reproducible en un sistema Debian normal, si el fallo persona que tiene ese problema en concreto, siempre existe
aparece en esta etapa. la posibilidad de que se haya discutido en otras partes y
exista una posible solución, parche o se haya propuesto una
668 Si este es el caso, esto no es un error de Debian Live, sino
alternativa.
de Debian - se debe informar sobre el paquete que falla. Se
puede obtener más información ejecutando debootstrap de Se debe prestar especial atención a la lista de correo de Debian 676
forma separada del sistema de creación en vivo o ejecutando Live, así como su página principal, ya que seguramente tienen
lb bootstrap --debug. la información más actualizada. Si esa información existe, se
debe incluir la referencia a ella en su informe de errores.
669 Además, si se está utilizando una réplica local y/o cualquier
tipo de proxy y se experimenta un problema, se debe Además, se debe comprobar las listas de errores actuales de 677
intentar reproducir siempre preinstalando desde una réplica live-build, live-boot, live-config y live-tools y verificar si se ha
oficial. informado ya de algo similar.
47
Manual Debian Live
678 14.8 Dónde informar de los fallos • Se puede comprobar las secuencias de comandos con `sh 687
-n' y `checkbashisms'.
679 El proyecto Debian Live realiza un seguimiento de todos
• Asegurarse de que el código funcione con `set -e'. 688
los errores en el sistema de seguimiento de fallos de Debian
(BTS). Para obtener información sobre cómo utilizar el sistema,
consultar ‹http://bugs.debian.org/›. También se puede enviar los 15.2 Sangrado 689
700
685 • No utilizar sintaxis o semántica que sea única para el
intérprete de comandos Bash. Por ejemplo, el uso de arrays.
Foo () {
686 • Utilizar únicamente el subconjunto POSIX - por ejemplo, usar bar
$(foo) en lugar de `foo`. }
48
Manual Debian Live
701 Bien:
FOO=bar
702
Bien: 715
Foo ()
716
{
bar
}
FOO="bar"
704 • Las variables deben escribirse siempre en letras mayúsculas. Mal: 718
719
705 • Las variables que se utiliza en live-build siempre comienzan
con el prefijo LB_
if [ -f "${FOO}"/foo/"${BAR}"/bar ]
then
706 • Las variables temporales internas de live-build deben foobar
comenzar con el prefijo <=underscore>LB_ fi
721
708 • Las variables en relación a un parámetro de arranque en live-
config comienzan con LIVE_.
if [ -f "${FOO}/foo/${BAR}/bar" ]
then
709 • Todas las demás variables de live-config comienzan con el foobar
prefijo _ fi
710 • Utilizar llaves para las variables, por ejemplo, escribir ${FOO}
en lugar de $FOO.
15.5 Miscelánea 722
invoque a sed, p.ej. “sed -e `s|'” (Pero sin las comillas “")
712 • Por motivos de coherencia, se debe utilizar siempre comillas
en la asignación de valores a las variables: • No se debe utilizar el comando test para hacer 724
49
Manual Debian Live
725 • Se debe utilizar case siempre que sea posible en lugar de 736 16.2 Nuevas versiones
test, ya que es más fácil de leer y más rápido en la ejecución.
737 • Una vez más, se necesita una réplica actualizada de Debian
726 • Usar mayúsculas en los nombres de las funciones para evitar y debian-security.
confusiones con el entorno de los usuarios.
• Las imágenes se crean y se almacenan en cdimage.debian.org. 738
• Correo para enviar notificaciones. 739
727 16. Procedimientos
50
Manual Debian Live
The Debian Live project is pleased to announce the @MINOR@ update of ←- lo tanto, para clonar live-manual en sólo lectura, lanzar:
the
Live images for the stable distribution Debian @MAJOR@ (codename "←- 749
@CODENAME@").
The images are available for download at: $ git clone git://live.debian.net/git/live-manual.git
<http://live.debian.net/cdimage/release/current/>
O, 750
and later at:
751
<http://cdimage.debian.org/cdimage/release/current-live/>
This update includes the changes of the Debian @MINOR@ release: $ git clone https://live.debian.net/git/live-manual.git
<http://lists.debian.org/debian-announce/@ANNOUNCE@>
O, 752
Additionally it includes the following Live-specific changes:
753
The Debian Live project produces the tools used to build official forma: git@live.debian.net:/repositorio.
Debian Live systems and the official Debian Live images themselves.
Así que, de nuevo, para clonar live-manual a través de ssh 755
About Debian
------------
escribir:
The Debian Project is an association of Free Software developers who
756
volunteer their time and effort in order to produce the completely free
operating system Debian.
51
Manual Debian Live
con una traducción se debe saber que el servidor proporciona no se especifica una réplica local para la creación de la
un fichero mrconfig para facilitar el manejo de múltiples imagen. Es posible acelerar las descargas considerablemente
repositorios. Para utilizarlo es necesario instalar el paquete mr si se utiliza una réplica local. Se puede especificar las opciones
y a continuación, lanzar: cuando se usa lb config, tal y como se describe en ‹Réplicas
de Distribution utilizadas durante la creación›, o para más
763
comodidad, establecer el valor por defecto para la creación
del sistema en /etc/live/build.conf. Basta con crear este
$ mr bootstrap http://live.debian.net/other/mr/mrconfig
fichero y en el mismo, establecer las variables LB_MIRROR_*
correspondientes a la réplica preferida. Todas las demás
764 Este comando automáticamente clonará y cambiará a la rama
réplicas usadas en el proceso de creación usarán estos
debian-next los repositorios de desarrollo de los paquetes
valores por defecto. Por ejemplo:
Debian producidos por el proyecto. Estos incluyen, entre otros,
771
el repositorio live-images, que contiene las configuraciones
utilizadas para las imágenes prefabricadas que el proyecto
publica para uso general. Para obtener más información LB_MIRROR_BOOTSTRAP="http://mirror/debian/"
LB_MIRROR_CHROOT_SECURITY="http://mirror/debian-security/"
sobre cómo utilizar este repositorio, consultar ‹Clonar una LB_MIRROR_CHROOT_BACKPORTS="http://mirror/debian-updates/"
configuración publicada a través de Git›
52
Manual Debian Live
772 18.2 Tutorial 1: Una imagen predeterminada 18.3 Tutorial 2: Una utilidad de navegador web 781
773 Caso práctico: Crear una primera imagen sencilla, Caso práctico: Crear una utilidad de navegador web, 782
defecto de Debian Live que contenga únicamente los paquetes como utilidad de navegador web, esto sirve como introducción
base (sin Xorg) y algunos paquetes de soporte Debian Live, a la personalización de las imágenes de Debian Live.
como un primer ejercicio en el uso de live-build. 784
777 Si se examina el contenido del directorio config/ se verá ofrecer un entorno de escritorio mínimo, ya que el enfoque de la
almacenada allí una configuración en esqueleto preparada imagen es el uso individual que se tiene en mente, el navegador
para ser personalizada o en este caso para ser usada web. Se podría ir aún más lejos y ofrecer una configuración por
inmediatamente para construir una imagen por defecto. defecto para el navegador web en config/includes.chroot/-
etc/iceweasel/profile/, o paquetes adicionales de soporte
778 Ahora, como superusuario, crear la imagen, guardando un log
con tee mientras se crea. para la visualización de diversos tipos de contenido web, pero
se deja esto como un ejercicio para el lector.
779
Crear la imagen, de nuevo como superusuario, guardando un 786
‹Probar una imagen ISO con virtualbox› o bien ser copiada en el ‹Tutorial 1›.
a un medio óptico como un dispositivo USB tal y como se
describe en ‹Grabar una imagen ISO en un medio físico› 18.4 Tutorial 3: Una imagen personalizada 789
53
Manual Debian Live
# lb build
794 Editar auto/config del siguiente modo:
795 Tener en cuenta que a diferencia de los dos primeros tutoriales, 803
lb config noauto \ Una vez que se ha probado la imagen (como en el ‹Tutorial 1›) 804
54
Manual Debian Live
811
Caso Práctico: Crear una imagen con live-build para que se 819
55
Manual Debian Live
$ mkdir vnc-kiosk-client
$ cd vnc-kiosk-client $ mkdir -p config/includes.chroot/etc/skel
$ lb config -a i386 -k 686-pae --apt-recommends false $ cat > config/includes.chroot/etc/skel/.xsession << EOF
$ echo '! Packages Priority standard' > config/package-lists/standard.←- #!/bin/sh
list.chroot
$ echo "xorg gdm3 metacity xvnc4viewer" > config/package-lists/my.list.←- /usr/bin/metacity &
chroot /usr/bin/xvncviewer 192.168.1.2:1
exit
822 Como se explica en ‹Ajuste de APT para ahorrar espacio› EOF
825 En este ejemplo, descubrimos que teníamos que volver a 18.6 Una imagen básica para un pendrive USB de 832
incluir varios paquetes recomendados por live-config y live- 128MB
boot: user-setup para hacer funcionar el inicio automático
de sesión y sudo programa esencial para apagar el sistema. Caso Práctico: Crear una imagen quitando algunos 833
Además, podría ser útil añadir live-tools para poder copiar componentes para que quepa en un pendrive USB de
la imagen en la memoria RAM y eject para finalmente poder 128MB dejándo un poco de espacio libre para poder usarlo
expulsar el medio en vivo. Por eso: para lo que se quiera.
826
Al optimizar una imagen para adaptarla al tamaño de algunos 834
56
Manual Debian Live
que son excluidos por la opción --apt-recommends false. Ver utilizando scripts gancho como por ejemplo el script
‹Ajuste de APT para ahorrar espacio› stripped.chroot que se encuentra en /usr/share/doc/-
837 live-build/examples/hooks, que puede reducir aún más el
tamaño de la imagen hasta 62MB. Sin embargo, el script
$ echo "user-setup sudo" > config/package-lists/recommends.list.chroot
elimina documentación y otros ficheros de los paquetes
instalados en el sistema. Esto viola la integridad de los
838 Ahora, crear la imagen de forma habitual: paquetes y como se comenta en el encabezado del script,
puede tener consecuencias imprevistas. Es por eso por lo
839
que el uso de debootstrap es el método recomendado para
conseguir este objetivo.
# lb build 2>&1 | tee build.log
840 En el sistema del autor, en el momento de escribir esto, la 18.7 Un escritorio GNOME con variante local e 843
el sistema en vivo. Excluyendo los paquetes recomendados adecuadas. En la actualidad, live-build no puede ayudar en
con --apt-recommends false se ahorra un poco de espacio esto. Aunque podríamos tener suerte y encontrarlos a base
adicional a costa de omitir algunos paquetes que de otro modo de pruebas, hay una herramienta, grep-dctrl, para extraerlos
57
Manual Debian Live
Apéndice 855
852 En el momento del arranque se va a generar la variante local taken into account when writing technical documentation
de_CH.UTF-8 y seleccionar la distribución del teclado ch . for live-manual. They are divided into linguistic features and
Ahora vamos a poner las piezas juntas. Recordando de ‹Utilizar recommended procedures.
metapaquetes› que los metapaquetes tienen el prefijo task-, Note: Authors should first read ‹Contributing to this 858
58
Manual Debian Live
not native speakers. So as a general rule try to use short, Give as much information as necessary but do not give more
meaningful sentences, followed by a full stop. information than necessary, this is to say, do not explain
unnecessary details. Your readers are intelligent. Presume
862 This does not mean that you have to use a simplistic, naive
some previous knowledge on their part.
style. It is a suggestion to try to avoid, as much as possible,
complex subordinate sentences that make the text difficult to • Minimize translation work 872
863 • Variety of English into several other languages. This implies that a number of
people will have to do an extra work if you add useless or
864 The most widely spread varieties of English are British and
redundant information.
American so it is very likely that most authors will use either one
or the other. In a collaborative environment, the ideal variety • Be coherent 874
would be “International English” but it is very difficult, not to say As suggested before, it is almost impossible to standardize a 875
impossible, to decide on which variety among all the existing collaborative document into a perfectly unified whole. However,
ones, is the best to use. every effort on your side to write in a coherent way with the rest
865 We expect that different varieties may mix without creating of the authors will be appreciated.
misunderstandings but in general terms you should try to be • Be cohesive 876
coherent and before deciding on using British, American or
any other English flavour at your discretion, please take a look Use as many text-forming devices as necessary to make your 877
at how other people write and try to imitate them. text cohesive and unambiguous. (Text-forming devices are
linguistic markers such as connectors).
866 • Be balanced
• Be descriptive 878
867 Do not be biased. Avoid including references to ideologies
completely unrelated to live-manual. Technical writing should It is preferable to describe the point in one or several 879
be as neutral as possible. It is in the very nature of scientific paragraphs than merely using a number of sentences in
writing. a typical “changelog” style. Describe it! Your readers will
appreciate it.
868 • Be politically correct
• Dictionary 880
59
Manual Debian Live
million words). Many of these words are borrowings from other 890 Even though you are encouraged to use plain, everyday
languages. When looking up the meaning of words in a bilingual English, technical writing belongs to the formal register of the
dictionary the tendency of a non-native speaker is to choose language.
the one that sounds more similar in their mother tongue. This
Try to avoid slang, unusual abbreviations that are difficult to 891
often turns into an excessively formal discourse which does not
understand and above all contractions that try to imitate the
sound quite natural in English.
spoken language. Not to mention typical irc and family friendly
883 As a general rule, if a concept can be expressed using different expressions.
synonyms, it is a good advice to choose the first word proposed
by the dictionary. If in doubt, choosing words of Germanic
origin (Usually monosyllabic words) is often the right thing to 18.8.2 Procedures 892
be of wide use and generally accepted. It is important that authors test their examples before adding 894
884 Using a dictionary of collocations is recommended. They are them to live-manual to ensure that everything works as
extremely helpful when it comes to know which words usually described. Testing on a clean chroot or VM can be a good
occur together. starting point. Besides, it would be ideal if the tests were then
carried out on different machines with different hardware to
885 Again it is a good practice to learn from the work of others. spot possible problems that may arise.
Using a search engine to check how other authors use certain
expressions may help a lot. • Examples 895
886 • False friends, idioms and other idiomatic expressions When providing an example try to be as specific as you can. An 896
trap of the so called “false friends”, words that look similar in two than using abstractions that may confuse your readers. In this
languages but whose meanings or uses might be completely case you can provide a brief explanation of the effects of the
different. proposed example.
888 Try to avoid idioms as much as possible. “Idioms” are There may be some exceptions when the example suggests 898
expressions that may convey a completely different using some potentially dangerous commands that, if misused,
meaning from what their individual words seem to mean. may cause data loss or other similar undesirable effects. In this
Sometimes, idioms are difficult to understand even for native case you should provide a thorough explanation of the possible
speakers! side effects.
60
Manual Debian Live
Links to external sites should only be used when the information 900 subtitles. e.g. 1, 1.1, 1.1.1, 1.1.2 ... 1.2, 1.2.1, 1.2.2 ... 2, 2.1 ...
on those sites is crucial when it comes to understanding a and so on. See markup below.
special point. Even so, try to use links to external sites
If you have to enumerate a series of steps or stages in your 912
as sparsely as possible. Internet links are likely to change
description, you can also use ordinal numbers: First, second,
from time to time resulting in broken links and leaving your
third ... or First, Then, After that, Finally ... Alternatively you can
arguments in an incomplete state.
use bulleted items.
901 Besides, people who read the manual offline will not have the • Markup 913
chance to follow those links.
And last but not least, live-manual uses ‹SiSU› to process 914
902 • Avoid branding and things that violate the license under which the text files and produce a multiple format output. It is
the manual is published recommended to take a look at ‹SiSU's manual› to get familiar
903 Try to avoid branding as much as possible. Keep in mind with its markup, or else type:
that other downstream projects might make use of the 915
907 - Once you have somehow organized those ideas in your mind words.
write a first draft. - For italics: 920
908 - Revise grammar, syntax and spelling. Keep in mind that the 921
61
Manual Debian Live
930 Use code{ to open and }code to close the tags. It is important It is perfectly acceptable however, to include a word or an 940
to remember to leave a space at the beginning of each line of expression in brackets in the translated text if, and only if, that
code. makes the meaning of a difficult word or expression clearer
to the reader. Inside the brackets the translator should make
evident that the addition was theirs using the abbreviation “TN”
931 18.9 Guidelines for translators
or “Translator's Note”.
932 This section deals with some general considerations to be • Impersonal sentences 941
62
Manual Debian Live
of that fact and reflect it in their language as accurately as 953 Translators should never translate:
possible.
- The code names of releases (which should be written in 954
944 The trap of “false friends” explained before especially applies - The names of programs 955
to translators. Double check the meaning of suspicious false - The commands given as examples 956
friends if in doubt.
- Metadata (often between colons :metadata: ) 957
946 Translators working initially with pot files and later on with po - Paths 959
files will find many markup features in the strings. They can
translate the text anyway, as long as it is translatable, but it is
extremely important that they use exactly the same markup as
the original English version.
949 • Newlines
950 The translated texts need to have the exact same newlines as
the original texts. Be careful to press the “Enter” key or type if
they appear in the original files. These newlines often appear,
for instance, in the code blocks.
951 Make no mistake, this does not mean that the translated text
needs to have the same length as the English version. That is
nearly impossible.
63
Manual Debian Live
Metadata Generated
Última generación (metaverse) del documento: 2013-05-07 08:46:18 +0000
SiSU Metadata, document information Generado por: SiSU 3.3.2 of 2012w26/6 (2012-06-30)
Versión de Ruby: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
Document Manifest @:
‹http://live.debian.net/manual/manual/manifest/live-manual.es.html›
Título: Manual Debian Live
Creador: Proyecto Debian Live <debian-live@lists.debian.org>
Derechos: Copyright (C) 2006-2013 Debian Live Project;
License: Este programa es software libre: puede ser redistribuido y/o modificado
bajo los términos de la GNU General Public License publicada por la Free Software
Foundation, bien de la versión 3 de la Licencia, o (a su elección) cualquier versión
posterior.
Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA
GARANTÍA, incluso sin la garantía implícita de COMERCIALIZACIÓN o IDONEIDAD
PARA UN PROPÓSITO PARTICULAR. Consulte la GNU General Public License para
más detalles.
Debería haber recibido una copia de la General Public License GNU junto con
este programa. Si no, vea ‹http://www.gnu.org/licenses/›.
Version Information
Fichero fuente: live-manual.ssm.sst
Filetype: SiSU text 2.0,
Source Digest: SHA256(live-manual.ssm.sst)=5c175d485fd4c39c11b2a235-
983dc3e3102ffb40b0ecc4fb921a9d410d72aa80
Skin Digest: SHA256(skin_debian-live.rb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
64