Manual de Live Systems

Acerca de este manual

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 a este documento
1.4.1 Aplicar cambios
1.4.2 Traducción

Contribuir al Live Systems Project

2. Acerca del Live Systems Project

2.1 Motivación
2.1.1 Desventajas de los sistemas en vivo actuales
2.1.2 El porqué de crear un sistema en vivo 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 en vivo
2.3 Contacto

Usuario

Instalación

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»

Conceptos básicos

4. Conceptos básicos

4.1 ¿Qué es un sistema en vivo?
4.2 Descarga de imágenes prefabricadas
4.3 Uso del servicio de creación de imágenes web
4.3.1 Uso y advertencias del servicio de creación de imágenes web
4.4 Primeros pasos: creación de una imagen ISO híbrida
4.5 Usar una imagen ISO híbrida
4.5.1 Grabar una imagen ISO en un medio físico.
4.5.2 Copiar una imagen ISO híbrida a un dispositivo USB
4.5.3 Usar el espacio libre en el dispositivo USB
4.5.4 Arrancar el medio en vivo
4.6 Usar una máquina virtual para pruebas
4.6.1 Probar una imagen ISO con QEMU
4.6.2 Probar una imagen ISO con VirtualBox
4.7 Construir y utilizar una imágen HDD
4.8 Creación de una imagen de arranque en red
4.8.1 Servidor DHCP
4.8.2 Servidor TFTP
4.8.3 Servidor NFS
4.8.4 Cómo probar el arranque en red
4.8.5 Qemu
4.9 Arrancar desde internet
4.9.1 Conseguir los ficheros para arrancar desde internet
4.9.2 Arrancar imágenes webboot

Descripción general de las herramientas

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

Gestionar una configuración

6. Gestionar una configuración

6.1 Gestionar cambios en la configuración
6.1.1 ¿Por qué utilizar scripts auto? ¿Qué hacen?
6.1.2 Usar scripts auto de ejemplo
6.2 Clonar una configuración publicada a través de Git

Personalización de contenidos

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

Personalización de la instalación de paquetes

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 Utilizar metapaquetes
8.2.3 Listas de paquetes locales
8.2.4 Listas de paquetes locales para la etapa binary
8.2.5 Generar listas de paquetes
8.2.6 Utilización de condiciones dentro de las listas de paquetes
8.2.7 Eliminación paquetes durante la instalación
8.2.8 Tareas de Escritorio e Idioma
8.2.9 Versión y tipo de kernel
8.2.10 Kernels personalizados
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 Ajuste de APT para ahorrar espacio
8.4.4 Pasar opciones a apt o a aptitude
8.4.5 APT pinning

Personalización de contenidos

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

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

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 persistence.conf
10.3.2 Utilizar varios medios persistentes
10.4 Utilizar persistencia con cifrado

Personalización de la imagen binaria

11. Personalización de la imagen binaria

11.1 Gestores de arranque
11.2 Metadatos ISO

Personalización del Instalador de Debian

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

Contribuir al proyecto

13. Contribuir al proyecto

13.1 Realizar cambios

Cómo informar acerca de errores.

14. Informes de errores.

14.1 Problemas conocidos
14.2 Reconstruir desde cero
14.3 Utilizar paquetes actualizados
14.4 Recopilar información
14.5 Aislar el fallo si es posible
14.6 Utilizar el paquete correcto sobre el que informar del error
14.6.1 En la preinstalación (bootstrap) en tiempo de creación.
14.6.2 Mientras se instalan paquetes en tiempo de creación.
14.6.3 En tiempo de arranque
14.6.4 En tiempo de ejecución
14.7 Hacer la investigación
14.8 Dónde informar de los fallos

Estilo de código

15. Estilo de código

15.1 Compatibilidad
15.2 Sangrado
15.3 Ajuste de líneas
15.4 Variables
15.5 Miscelánea

Procedimientos

16. Procedimientos

16.1 Principales lanzamientos
16.2 Nuevas versiones
16.2.1 Última actualización de una versión Debian
16.2.2 Plantilla para anunciar nuevas versiones.

Repositorios Git

17. Repositorios Git

17.1 Manejo de múltiples repositorios

Ejemplos

Ejemplos

18. Ejemplos

18.1 Uso de los ejemplos
18.2 Tutorial 1: Una imagen predeterminada
18.3 Tutorial 2: Una utilidad de navegador web
18.4 Tutorial 3: Una imagen personalizada
18.4.1 Primera revisión
18.4.2 Segunda revisión
18.5 Un cliente VNC kiosk
18.6 Una imagen básica para un pendrive USB de 128MB
18.7 Un escritorio GNOME con variante local e instalador

Apéndice

Style guide

19. Guía de estilo

19.1 Instrucciones para los autores
19.1.1 Aspectos lingüísticos
19.1.2 Procedimientos
19.2 Directrices para los traductores
19.2.1 Consejos de traducción

Metadata

Manual de Live Systems

Cómo informar acerca de errores.

14. Informes de errores.

Los sistemas en vivo están lejos de ser perfectos, pero queremos que sean lo más perfectos posible - con su ayuda. No dudar en informar de un error. Es mejor llenar un informe dos veces que no hacerlo nunca. Sin embargo, este capítulo incluye recomendaciones sobre cómo presentar buenos informes de errores.

Para los impacientes:

14.1 Problemas conocidos

Debido a que Debian testing y Debian unstable están cambiando continuamente, no siempre es posible crear un sistema con éxito cuando se especifica cualquiera de estas dos versiones como distribución objetivo.

Si esto causa mucha dificultad, no se debe crear un sistema basado en testing o unstable, sino que debe utilizarse stable. live-build siempre crea, por defecto, la versión stable .

Los problemas detectados se especifican en la sección 'status' de la página web ‹http://live-systems.org/›.

Está fuera del alcance de este manual enseñar cómo identificar y solucionar correctamente problemas de los paquetes de las distribuciones en desarrollo, sin embargo, hay dos cosas que siempre se puede intentar: Si se detecta un error de creación cuando la distribución de destino es testing, se debe intentar con unstable. Si unstable no funciona bien, se debe volver a testing haciendo un pin con la nueva versión del paquete de unstable (véase APT pinning para más detalles).

14.2 Reconstruir desde cero

Para asegurarse de que un error en particular no es causado por crear el sistema basándose en los datos de un sistema anterior, se debe reconstruir el sistema en vivo entero, desde el principio y comprobar si el error es reproducible.

14.3 Utilizar paquetes actualizados

Utilizar paquetes obsoletos puede causar problemas importantes al tratar de reproducir (y en última instancia, solucionar) el problema. Hay que asegurarse de que el sistema de construcción está actualizado y cualquier paquete que se incluya en la imagen esté también al día .

14.4 Recopilar información

Se debe proporcionar información suficiente con el informe. Como mínimo, la versión exacta de live-build donde se encuentra el error y los pasos para reproducirlo. Se debe utilizar el sentido común e incluir cualquier información pertinente si se cree que podría ayudar a resolver el problema.

Para sacar el máximo provecho de un informe de errores, se requerirá al menos la siguiente información:

Se puede generar un log del proceso de creación mediante el comando tee. Se recomienda hacer esto de forma automática con un script auto/build (ver Gestionar una configuración para más detalles).

# lb build 2>&1 | tee build.log

En el momento del arranque, live-boot y live-config guardan sus logs en /var/log/live/. Comprobar si hay algún mensaje de error en estos ficheros.

Además, para descartar otros errores, siempre es una buena idea comprimir en un .tar el directorio config/ y subirlo a algún lugar, para que el equipo de Debian Live pueda reproducir el error (No se debe enviar como documento adjunto a la lista de correo). Si esto es difícil (por ejemplo, debido a su tamaño) se puede utilizar la salida del comando lb config --dump que produce un resumen del árbol de configuración (es decir, listas de archivos de los subdirectorios de config / pero no los incluye).

Hay que recordar que los informes a enviar se deben hacer en ingles, por lo que para generar los logs en este idioma se debe utilizar la variante local English, p.ej. ejecutar los comandos de live-build o cualquier otro precedidos de LC_ALL=C o LC_ALL=en_US.

14.5 Aislar el fallo si es posible

Si es posible, aislar el caso del fallo al menor cambio posible que lo produzca. No siempre es fácil hacer esto, así que si no se consigue para el informe, no hay que preocuparse. Sin embargo, si se planea el ciclo de desarrollo bién, con conjuntos de cambios lo bastante pequeños por iteración, puede ser posible aislar el problema mediante la construcción de una simple «base» de configuración que se ajuste a la configuración actual deseada, más el conjunto del cambio que falla añadido. Si resulta difícil determinar que cambios produjeron el error, puede ser que se haya incluido demasiado en cada conjunto de cambios y se deba desarrollar en incrementos más pequeños.

14.6 Utilizar el paquete correcto sobre el que informar del error

Si no se sabe qué componente es responsable del error o si el error es un error general relativo a los sistemas en vivo, se puede rellenar un informe de errores contra el pseudo-paquete debian-live.

Sin embargo, se agradece si se intenta limitar la búsqueda a donde aparece el error.

14.6.1 En la preinstalación (bootstrap) en tiempo de creación.

live-build crea primero un sistema Debian básico con debootstrap o cdebootstrap. Puede fallar dependiendo de la herramienta usada en la preinstalación y de la distribución Debian empleada. Si un error aparece en este momento, se debe comprobar si está relacionado con un paquete específico de Debian (es lo más probable), o si está relacionado con la herramienta de preinstalación en sí.

En ambos casos, esto no es un error en el sistema en vivo, sino de Debian en sí mismo, por lo cual nosotros probablemente no podamos solucionarlo directamente. Informar del error sobre la herramienta de preinstalación o el paquete que falla.

14.6.2 Mientras se instalan paquetes en tiempo de creación.

live-build instala paquetes adicionales del archivo de Debian que pueden fallar en función de la distribución Debian utilizada y del estado diario del archivo Debian. Se debe comprobar si el error es reproducible en un sistema Debian normal, si el fallo aparece en esta etapa.

Si este es el caso, esto no es un error en el sistema en vivo, sino de Debian - se debe informar sobre el paquete que falla. Se puede obtener más información ejecutando debootstrap de forma separada del sistema de creación en vivo o ejecutando lb bootstrap --debug.

Además, si se está utilizando una réplica local y/o cualquier tipo de proxy y se experimenta un problema, se debe intentar reproducir siempre preinstalando desde una réplica oficial.

14.6.3 En tiempo de arranque

Si la imagen no arranca, se debería informar a la lista de correo, junto con la información solicitada en Recopilar información. No hay que olvidar mencionar, cómo y cuándo la imagen falla, si es utilizando virtualización o hardware real. Si se está utilizando una tecnología de virtualización de cualquier tipo, se debe probar la imagen en hardware real antes de informar de un error. Proporcionar una captura de pantalla del error también es muy útil.

14.6.4 En tiempo de ejecución

Si un paquete se ha instalado correctamente, pero falla cuando se ejecuta el sistema en vivo, esto es probablemente un error en el sistema en vivo. Sin embargo:

14.7 Hacer la investigación

Antes de presentar el informe de errores, buscar en la web el mensaje de error en particular o el síntoma que se está percibiendo. Como es muy poco probable que sea la única persona que tiene ese problema en concreto, siempre existe la posibilidad de que se haya discutido en otras partes y exista una posible solución, parche o se haya propuesto una alternativa.

Se debe prestar especial atención a la lista de correo del sistema en vivo, así como a su página web, ya que seguramente tienen la información más actualizada. Si esa información existe, se debe incluir una referencia a ella en el informe de errores.

Además, se debe comprobar las listas de errores actuales de live-build, live-boot, live-config y live-tools y verificar si se ha informado ya de algo similar.

14.8 Dónde informar de los fallos

El Live Systems Project realiza un seguimiento de todos los errores en el sistema de seguimiento de errores de Debian (BTS). Para obtener información sobre cómo utilizar el sistema, consultar ‹http://bugs.debian.org/›. También se puede enviar los errores mediante el comando reportbug del paquete con el mismo nombre.

En general, se debe informar sobre los errores en tiempo de creación contra el paquete live-build. De los fallos en tiempo de arranque contra el paquete live-boot, y de los errores en tiempo de ejecución contra el paquete live-config. Si no se está seguro de qué paquete es el adecuado o se necesita más ayuda antes de presentar un informe de errores, lo mejor es enviar un informe contra el pseudo-paquete debian-live. Nosotros nos encargaremos de reasignarlo donde sea apropiado.

Hay que tener en cuenta que los errores que se encuentran en las distribuciones derivadas de Debian (como Ubuntu y otras) no deben enviarse al BTS de Debian a menos que también se puedan reproducir en un sistema Debian usando paquetes oficiales de Debian.