Manual Debian Live

Acerca de este manual

1. Acerca de este manual

1.1 Para el impaciente.
1.2 Términos
1.3 Autores
1.4 Cómo contribuir en este documento
1.4.1 Aplicar cambios
1.4.2 Traducción

2. Acerca del Proyecto Debian Live

2.1 Motivación
2.1.1 Desventajas en los sistemas Live actuales
2.1.2 El porqué de crear un Sistema Live propio.
2.2 Filosofía
2.2.1 Solamente paquetes sin modificación alguna de Debian «main»
2.2.2 Sin configuración especial para el Sistema Live
2.3 Contacto

Usuario

3. Instalación

3.1 Requisitos
3.2 Instalación de live-build
3.2.1 Desde el repositorio Debian.
3.2.2 A partir del código fuente
3.2.3 A partir de «instantáneas»
3.3 Instalación de live-boot y live-config
3.3.1 Desde el repositorio Debian.
3.3.2 A partir del código fuente
3.3.3 A partir de «instantáneas»

4. Conceptos básicos

4.1 ¿Qué es un sistema en vivo?
4.2 Primeros pasos: creación de una imagen ISO híbrida
4.3 Usar una imagen ISO híbrida
4.3.1 Grabar una imagen ISO en un medio físico.
4.3.2 Copiar una imagen ISO híbrida a un dispositivo USB
4.3.3 Arrancar los medios en vivo
4.4 Usar una máquina virtual para pruebas
4.4.1 Probar una imagen ISO con QEMU
4.4.2 Probar una imagen ISO con virtualbox-ose
4.5 Crear una imagen HDD
4.6 Utilizar una imágen HDD
4.6.1 Probar una imágen HDD con Qemu
4.6.2 Usar el espacio libre en el dispositivo USB
4.7 Creación de una imagen de arranque en red
4.7.1 Servidor DHCP
4.7.2 Servidor TFTP
4.7.3 Servidor NFS
4.7.4 Cómo probar el arranque en red
4.7.5 Qemu
4.7.6 VMWare Player

5. Descripción general de las herramientas

5.1 El paquete live-build
5.1.1 El comando lb config
5.1.2 El comando lb build
5.1.3 El comando lb clean
5.2 El paquete live-boot
5.3 El paquete live-config

6. Gestionar una configuración

6.1 Utilización de auto para gestionar los cambios de la configuración
6.2 Un ejemplo de scripts auto.

7. Descripción general de la personalización.

7.1 Configuración en el momento de la creación vs en el momento del arranque
7.2 Etapas de la creación
7.3 Opciones para lb config en ficheros
7.4 Tareas de personalización

8. Personalización de la instalación de paquetes

8.1 Origen de los paquetes
8.1.1 Distribución, áreas de archivo y modo
8.1.2 Réplicas de Distribución Debian
8.1.3 Réplicas de Distribution utilizadas durante la creación
8.1.4 Réplicas de distribución Debian utilizadas en la ejecución.
8.1.5 Repositorios adicionales
8.2 Selección de los paquetes a instalar
8.2.1 Listas de paquetes
8.2.2 Listas de paquetes predefinidas
8.2.3 Listas de paquetes locales
8.2.4 Listas de paquetes locales para binary
8.2.5 Extensión de una lista de paquetes dada mediante «includes»
8.2.6 Utilización de condiciones dentro de las listas de paquetes
8.2.7 Tareas
8.2.8 Tareas de Escritorio e Idioma
8.3 Instalar paquetes de terceros o paquetes modificados
8.3.1 Método packages.chroot para instalar paquetes personalizados
8.3.2 Método de repositorio APT para instalar paquetes personalizados
8.3.3 Paquetes personalizados y APT
8.4 Configurar APT en la creación
8.4.1 Utilizar apt o aptitude
8.4.2 Utilización de un proxy con APT
8.4.3 Ajuste de APT para ahorrar espacio
8.4.4 Pasar opciones a apt o a aptitude
8.4.5 APT pinning

9. Personalización de contenidos

9.1 Includes
9.1.1 Includes locales en Live/chroot
9.1.2 Includes locales en Binary
9.1.3 Includes en Binary
9.2 Scripts gancho (Hooks)
9.2.1 Scripts gancho locales en Live/chroot
9.2.2 Scripts gancho en tiempo de arranque
9.2.3 Scripts gancho locales en Binary
9.3 Preconfiguración de las preguntas de Debconf

10. Personalización del comportamiento en tiempo de ejecución.

10.1 Personalización del usuario por defecto del sistema en vivo
10.2 Personalización de las variantes locales e idioma
10.3 Persistencia
10.3.1 El fichero live-persistence.conf
10.3.2 SubText persistente

11. Personalización de la imagen binaria

11.1 Gestor de arranque
11.2 Metadatos ISO

12. Personalización del Instalador de Debian

12.1 Tipos de imágenes según el instalador
12.2 Personalizando el Instalador de Debian mediante preconfiguración
12.3 Personalizar el contenido del Instalador de Debian

Proyecto

13. Informes de errores.

13.1 Problemas conocidos
13.2 Reconstruir desde cero
13.3 Utilizar paquetes actualizados
13.4 Recopilar información
13.5 Aislar el fallo si es posible
13.6 Utilizar el paquete correcto sobre el que informar del error
13.6.1 En la preinstalación (bootstrap) en tiempo de creación.
13.6.2 Mientras se instalan paquetes en tiempo de creación.
13.6.3 En tiempo de arranque
13.6.4 En tiempo de ejecución
13.7 Hacer la investigación
13.8 Dónde informar de los fallos

14. Estilo de código

14.1 Compatibilidad
14.2 Sangrado
14.3 Ajuste de líneas
14.4 Variables
14.5 Miscelánea

15. Procedimientos

15.1 Subir Udebs
15.2 Principales lanzamientos
15.3 Nuevas versiones
15.3.1 Última actualización de una versión Debian
15.3.2 Plantilla para anunciar nuevas versiones.

Ejemplos

16. Ejemplos

16.1 Uso de los ejemplos
16.2 Tutorial 1: Una imagen estándar
16.3 Tutorial 2: Una utilidad de navegador web
16.4 Tutorial 3: Una imagen personalizada
16.4.1 Primera revisión
16.4.2 Segunda revisión
16.5 Un cliente VNC kiosk
16.6 Una imagen básica para un pendrive USB de 128M
16.7 Un escritorio KDE con variante local e instalador

Apéndice

17. Style guide

17.1 Guidelines for authors
17.1.1 Linguistic features
17.1.2 Procedures
17.2 Guidelines for translators
17.2.1 Translation hints

Manual Debian Live

Usuario

6. Gestionar una configuración

Este capítulo explica como gestionar una configuración para 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.

6.1 Utilización de auto para gestionar los cambios de la configuración

La configuración necesaria para crear un sistema en vivo rara vez es perfecta a la primera. Lo normal es que se necesite realizar una serie de revisiones hasta que se obtenga algo satisfactorio. Sin embargo, las inconsistencias pueden transmitirse de una revisión de la configuración a otra si no se es lo suficientemente cuidadoso. El principal problema es que, una vez que una variable de la configuración tiene un valor asignado, este valor no es recalculado en revisiones posteriores de la configuración. Esto hace que, si una variable depende del valor de otra y esta segunda cambia de valor, el valor actual de la primera no se ve alterado, debido a que ya tenía el valor asignado de antemano.

Por ejemplo, la primera vez que se asigna la distribución a utilizar, se asigna a muchas variables un valor por defecto para adecuarse a la distribución seleccionada. Sin embargo, si posteriormente se decide modificar la distribución, estas variables dependientes continuan reteniendo los valores antiguos que, por supuesto, no son los adecuados para la nueva distribución.

Otro problema es que la ejecución de la orden lb config no se reejecutará correctamente si se realiza una actualización a una nueva versión de las herramientas live-build que modifique el nombre de alguna variable de configuración. Además solamente podrá ser descubierto mediante una revisión manual de los ficheros del directorio config/* que se deberán modificar para asignar las variables de configuración a un nuevo valor apropiado.

Todo esto sería un terrible embrollo si no fuese por los scripts auto/* simples envoltorios para los comandos lb config, lb build y lb clean que están diseñados para ayudar a la gestión de la configuración. Simplemente se debe crear un script llamado auto/config que contenga el comando lb config con todas las opciones que se deseen y otro script llamado auto/clean que elimine los ficheros que contienen los valores de las variables de configuración. Estos scripts se ejecutarán cada vez que se ejecuten los comandos lb config o lb clean de manera automática. Esto asegurará que la configuración se mantendrá consistente desde una versión a otra y desde una versión de las herramientas live-build a otra. (Aunque esto no elimina la necesidad de leer la documentación cuando se instale una nueva version de las herramientas live-build y quizás realizar algún ajuste manual en los ficheros de configuración).

6.2 Un ejemplo de scripts auto.

Se debe utilizar scripts auto similares a los ejemplos que se muestran a continuación como punto de partida para una nueva configuración de la herramienta live-build. Hay que hacer notar que, cuando se ejecuta el comando lb dentro del script auto, se debe especificar la opción noauto para asegurar que el script auto no se vuelve a ejecutar repetitivamente. Tampoco se debe olvidar asegurarse de que los scripts auto sean ejecutables (por ejemplo chmod 755 auto/*).

auto/config

#!/bin/sh
lb config noauto \
     --package-lists "standard" \
     "${@}"

auto/clean

#!/bin/sh
lb clean noauto "${@}"
rm -f config/binary config/bootstrap \
     config/chroot config/common config/source
rm -f build.log

auto/build

#!/bin/sh
lb build noauto "${@}" 2>&1 | tee build.log

Estos scripts auto vienen de serie con las herramientas live-build. Bastaría con copiar estos scripts como punto de partida.

$ cp /usr/share/live/build/examples/auto/* auto/

Se puede editar el script auto/config, modificándolo o añadiendo cualquier opción que se acomode a las necesidades requeridas. En el ejemplo anterior, se asigna la opción por defecto --package-lists standard. Se puede cambiar este valor por uno adecuado o simplemente eliminarlo si no es necesario, añadiendo en las líneas siguientes cualquier otra opción que se adecue a las necesidades requeridas para la imagen a crear.