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 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 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 Capas de persistencia total
10.3.2 Capas personalizadas
10.3.3 Instantáneas
10.3.4 SubText persistente
10.3.5 Remasterización parcial

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

5. Descripción general de las herramientas

Este capítulo contiene una descripción general de las tres herramientas principales utilizadas en la creación de sistemas Debian Live: live-build, live-boot y live-config.

5.1 live-build

live-build es una colección de scripts para generar los sistemas Debian Live. A estos scripts también se les conoce como «comandos».

La idea detrás de live-build es ser un marco (framework) que utiliza un directorio de configuración para automatizar completamente y personalizar todos los aspectos de la creación de una imagen de un sistema en vivo.

Muchos conceptos son similares a los del paquete de herramientas de Debian debhelper escrito por Joey Hess:

  • Los scripts tienen una ubicación central para la configuración de su funcionamiento. En debhelper, éste es el subdirectorio debian/ de un árbol de paquetes. Por ejemplo, dh_install buscará, entre otros, un fichero llamado debian/install para determinar qué ficheros deben existir en un paquete binario en particular. De la misma manera, live-build almacena toda su configuración bajo un subdirectorio config/.
  • Los scripts son independientes - es decir, siempre es seguro ejecutar cada comando.
  • A diferencia de debhelper, live-build contiene una herramienta para crear un directorio de configuración en esqueleto, lb config. Ésto podría ser considerado como similar a herramientas tales como dh-make. Para obtener más información sobre lb config, consultar El comando lb config

    El resto de esta sección describe los tres comandos más importantes:

  • lb config: Responsable de la creación de un directorio de configuración del sistema en vivo. Ver El comando lb config para más información.
  • lb build: Responsable de iniciar la creación de un sistema en vivo. Ver El comando lb build para más información.
  • lb clean: Responsable de la eliminación de partes de la creación de un sistema en vivo. Ver El comando lb clean para más información.
  • 5.1.1 El comando lb config

    Como se comentó en live-build, los scripts que componen live-build obtienen su configuración desde un único directorio llamado config/. Como la creación de este directorio a mano sería largo y propenso a errores, se puede utilizar el comando lb config para crear el esqueleto de directorios de configuración.

    Ejecutar lb config sin argumentos crea un subdirectorio config/ que se completa con algunas opciones por defecto y un árbol de subdirectorios en forma de esqueleto auto/:

    $ lb config
    [2012-03-19 15:17:14] lb_config
    P: Considering defaults defined in /etc/live/build.conf
    P: Creating config tree for a debian system

    Usar lb config sin ningún argumento sería conveniente para los usuarios que necesitan una imagen muy básica, o que tienen intención de proporcionar más tarde una configuración más completa a través de auto/config (ver Gestionar una configuración para más detalles).

    Normalmente, se tendrá que especificar algunas opciones. Por ejemplo, para incluir la lista del paquete 'gnome' en la configuración:

    $ lb config -p gnome

    Es posible especificar muchas opciones, tales como:

    $ lb config --binary-images net --bootappend-live "hostname=live-machine username=live-user" ...

    Una lista completa de opciones está disponible en la página de manual lb_config.

    5.1.2 El comando lb build

    El comando lb build lee la configuración del directorio config/. A continuación, ejecuta los comandos del nivel inferior más bajo necesarios para crear el sistema en vivo.

    5.1.3 El comando lb clean

    El comando lb clean es el encargado de eliminar varias partes de una creación de forma que las creaciones posteriores puedan comenzar de forma limpia. Por defecto se eliminan las etapas chroot, binary y source pero se deja el caché intacto. Además, se pueden limpiar etapas de forma individual. Por ejemplo, si se han realizado cambios que sólo afectan a la etapa binary, se debe usar lb clean --binary antes de crear una nueva binary. Ver el manual de lb_clean para una lista detallada de todas sus opciones

    5.2 El paquete live-boot

    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 los creados por live-build. Ésto incluye las ISOs de Debian Live, archivos comprimidos en tar de netboot, e imágenes para llaves USB.

    En el momento del arranque, buscará en los medios de almacenamiento de sólo lectura un directorio /live/ donde se encuentra un sistema de ficheros raíz (a menudo una imagen del sistema de ficheros comprimidos como squashfs). Si lo encuentra, creará un entorno de escritura, utilizando aufs, para que arranquen los sistemas tipo Debian.

    Se puede encontrar más información sobre ramfs inicial en Debian en el Manual del kernel Debian Linux en ‹http://kernel-handbook.alioth.debian.org/› concretamente en el capítulo sobre initramfs.

    5.3 El paquete live-config

    live-config consiste en una serie de scripts que se ejecutan en el arranque después de live-boot para configurar el sistema en vivo de forma automática. Se ocupa de tareas como la creación del nombre del equipo (hostname), las variantes locales y la zona horaria, crear el usuario en vivo, la inhibición de trabajos de cron y el inicio de sesión automático del usuario en vivo.