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 Gestionar los cambios de configuración
6.1.1 ¿Por qué utilizar scripts auto? ¿Qué hacen?
6.2 Usar scripts auto de ejemplo
6.3 Clonar una configuración publicada a través de Git

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 Using metapackages
8.2.3 Listas de paquetes locales
8.2.4 Listas de paquetes locales para binary
8.2.5 Generar listas de paquetes
8.2.6 Utilización de condiciones dentro de las listas de paquetes
8.2.7 Tareas de Escritorio e Idioma
8.3 Instalar paquetes modificados o de terceros
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 Tweaking APT to save space
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.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 Utilizar varios medios persistentes

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 Gestionar los cambios de configuración

Las configuraciones en vivo rara vez son perfectas al primer intento. Puede estar bien pasar opciones a lb config en la línea de comandos para realizar una construcción única, pero es más típico revisar esas opciones y construir de nuevo hasta quedar satisfecho. Para apoyar estos cambios, se pueden utilizar scripts auto que garanticen que la configuración se mantiene en un estado coherente.

6.1.1 ¿Por qué utilizar scripts auto? ¿Qué hacen?

El comando lb config almacena las opciones que se le pasan en ficheros en el directorio config/*, junto con muchas otras opciones que figuran en sus valores predeterminados. Si se ejecuta lb config una vez más, no restablecerá ninguna opción que se estableció como por defecto en función de las opciones iniciales. Así, por ejemplo, si se ejecuta lb config otra vez con un nuevo valor para --distribution, todas las opciones que se establecieron como predeterminadas para la distribución anteriormente ya no pueden funcionar con la nueva configuración. Estos archivos tampoco estan destinados a ser leídos o editados. Almacenan valores para más de cien opciones, para que nadie sea capaz de ver las opciones que se especificó realmente. Y por último, si se ejecuta lb config y a continuación se actualiza live-build y hay alguna opción que cambió de nombre, config/* todavía tendrá variables con las opciones viejas que ya no son válidas.

Por todas estas razones, los scripts auto/* nos hacen la vida más fácil. Son simples envoltorios para los comandos lb config, lb build y lb clean diseñados para ayudar a administrar una configuración. El script auto/config contiene el comando lb config con todas las opciones que se desea, el script auto/clean elimina los ficheros que contienen variables de configuración y el fichero auto/build crea un build.log de cada creación. Cada uno de estos scripts se ejecuta automáticamente cada vez que se ejecuta la orden lb correspondiente. Mediante el uso de estos scripts, la configuración es más fácil de leer y se mantiene internamente coherente de una revisión a la siguiente. Además, será mucho más fácil identificar y corregir las opciones que necesitan cambiarse tras actualizar live-build y leer la documentación actualizada.

6.2 Usar scripts auto de ejemplo

Para mayor comodidad, live-build contiene shell scripts auto de ejemplo que se pueden copiar y editar. Iniciar una nueva configuración por defecto y a continuación, copiar los ejemplos:

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

Editar auto/config, añadiendo las opciones que se desee. Por ejemplo:

#!/bin/sh
lb config noauto \
     --architectures i386 \
     --linux-flavours 686-pae \
     --binary-images hdd \
     --mirror-bootstrap http://ftp.es.debian.org/debian/ \
     --mirror-binary http://ftp.es.debian.org/debian/ \
     "${@}"

Ahora, cada vez que se utilize lb config, auto/config reiniciará la configuración basándose en estas opciones. Cuando se desee realizar cambios, se deben editar las opciones en este fichero en lugar de pasarlas a lb config. Cuando se utilize lb clean, auto/clean limpiará los ficheros en config/* junto a los otros productos de construcción. Y, por último, cuando se utilice lb build, auto/build creará un log del proceso de construcción llamado build.log.

Nota: Aquí se utiliza noauto, un parámetro especial para suprimir otra llamada a auto/config, evitando así una repetición infinita. Asegurarse de no eliminarlo accidentalmente al hacer cambios en el fichero. Tener cuidado al dividir el comando lb config en varias líneas para facilitar la lectura, como se muestra en el ejemplo anterior, ya que no debe olvidarse la barra invertida (\) al final de cada línea que sigue en la siguiente.

6.3 Clonar una configuración publicada a través de Git

Utilizar la opción lb config --config para clonar un repositorio Git que contenga una configuración de Debian Live. Si se desea basar la configuración en una mantenida por el proyecto Debian Live, visitar los repositorios con el prefijo config- en ‹http://live.debian.net/gitweb

Por ejemplo, para construir una imagen de rescate, utilizar el repositorio config-rescue de la siguiente manera:

$ mkdir live-rescue && cd live-rescue
$ lb config --config git://live.debian.net/git/config-rescue.git

Editar auto/configy cualquier otra cosa que se necesite en el árbol config para adaptarlo a las propias necesidades.

Si se desea, se puede definir un método abreviado en la configuración de Git, añadiendo lo siguiente al fichero ${HOME}/.gitconfig:

[url "git://live.debian.net/git/"]
     insteadOf = ldn:

Esto permite utilizar ldn: en cualquier lugar en que se tenga que especificar la dirección de un repositorio git de live.debian.net. Si se omite el sufijo .git, comenzar una nueva imagen con esta configuración es tan fácil como:

$ lb config --config ldn:config-rescue