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

Acerca de este manual

1. Acerca de este manual

El objetivo principal de este manual es servir como único punto de acceso a toda la documentación referente al Live Systems Project y en particular al sofware que el proyecto crea para Debian 8.0 "jessie". Se puede encontrar siempre una versión actualizada en ‹http://live-systems.org/

live-manual está principalmente enfocado a ayudar en la creación de un sistema en vivo y no está dirigido al usuario final de estos sistemas. Un usuario final puede encontrar información útil en las siguentes secciones: Conceptos básicos que cubre la descarga de imágenes prefabricadas y la preparación de imágenes para arrancar un sistema desde un medio de almacenamiento o desde una red local, ya sea utilizando el constructor web o ejecutando live-build directamente en el sistema. Personalización del comportamiento en tiempo de ejecución que describe algunas de las opciones que pueden especificarse en el indicador de arranque, como pueden ser la selección de la distribución del teclado, las variantes locales o la persistencia.

Algunos de los comandos mencionados en el texto deben ser ejecutados con privilegios de superusuario, que pueden ser obtenidos accediendo a la cuenta de root mediante la orden su o mediante la orden sudo. Para distinguir las ordenes que deben ser ejecutadas como usuario no privilegiado de las que si requieren privilegios de superusuario se ha prefijado con $ las primeras y con # las segundas. Estos símbolos no son parte de la orden.

1.1 Para el impaciente.

Aunque se cree que todo lo descrito en este manual es importante para la mayoría de los usuarios, es cierto que hay mucho material a interiorizar y que los usuarios desean experimentar con las herramientas de forma rápida y satisfactoria antes de entrar en detalles. Por lo tanto, se sugiere leer siguiendo el siguiente orden.

Primero, leer el capítulo Acerca de este manual, desde el principio y terminando en la sección Términos. Después, saltar hasta los tres tutoriales que están al principio de la sección Ejemplos pensados para aprender a configurar y construir imágenes de forma básica. Se deberá leer primero Uso de los ejemplos, seguido de Tutorial 1: Una imagen predeterminada y Tutorial 2: Una utilidad de navegador web, para finalizar con Tutorial 3: Una imagen personalizada. Al final de estos tutoriales, el lector tendrá una visión de lo que se puede hacer con los sistemas en vivo.

Se anima a profundizar en el estudio del manual con la lectura detenida del siguiente capítulo: Conceptos básicos, y de una manera más somera el capítulo La creación de una imagen netboot, para acabar con la lectura de Descripción general de la personalización y los capítulos que le siguen. Se espera que, en este punto, el lector esté lo suficientemente motivado con lo que se puede hacer con los sistemas en vivo para leer el resto del manual, de principio a fin.

1.2 Términos

1.3 Autores

Lista de autores (en orden alfabético):

1.4 Cómo contribuir a este documento

Este manual se ha creado como un proyecto comunitario y cualquier propuesta para su mejora u otras contribuciones son 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.

1.4.1 Aplicar cambios

Para realizar cambios en el manual en Inglés se debe editar los ficheros adecuados en manual/en/ pero antes de enviar una contribución se debería realizar una visualización del trabajo realizado. Para ello asegurarse de tener instalados los paquetes necesarios para la construcción de live-manual ejecutando la siguiente orden:

# apt-get install make po4a ruby ruby-nokogiri sisu-complete

Se puede realizar la construcción del manual posicionándose en el directorio de nivel superior, o sea, en el directorio clonado mediante Git y ejecutando la siguiente orden:

$ make build

Ya que construir el manual completo en todos los idiomas disponibles cuesta bastante rato, los autores seguramente estaran interesados en utilizar alguno de los siguientes atajos a la hora de revisar la documentación que hayan añadido al manual en inglés. Utilizando PROOF=1 se crea live-manual en formato html, pero sin los documentos html segmentados, y utilizando PROOF=2 se crea live-manual en formato pdf pero sólo en retrato A4 y carta. Por este motivo, utilizar cualquiera de las opciones PROOF= puede llegar a ahorrar una cantidad de tiempo considerable, por ejemplo.

$ make build PROOF=1

Cuando se revisa alguna de las traducciones, es posible construir sólo un idioma ejecutando, por ejemplo:

$ make build LANGUAGES=de

Es posible generar el documento por formato:

$ make build FORMATS=pdf

O combinar ambos, por ejemplo:

$ make build LANGUAGES=de FORMATS=html

Después de revisar el trabajo y asegurarse de que todo está bien, no ejecutar make commit a menos de que se actualicen las traducciones al mismo tiempo, y en ese caso, no mezclar los cambios al manual en inglés con las traducciones en el mismo commit, sino en commits separados. Ver la sección Traducción para más detalles.

1.4.2 Traducción

Para traducir live-manual, seguir estos pasos, dependiendo de si se está comenzando una traducción desde cero o si se continua trabajando en una traducción ya comenzada:

Después de ejecutar make commit se podrá observar bastante texto en la pantalla. Básicamente son mensajes informativos sobre el estado del proceso y también algunas pistas sobre lo que se puede hacer para mejorar live-manual. A menos que se vea un error fatal, generalmente se puede proceder y enviar la contribución.

live-manual incluye dos utilidades que pueden ser de gran ayuda para los traductores a la hora de encontrar mensajes sin traducir y mensajes difusos. La primera es "make translate". Esta activa un script que muestra en detalle cuántos mensajes sin traducir hay en cada fichero .po. La segunda, "make fixfuzzy", sólo actúa sobre los mensajes difusos pero ayuda a encontrarlos y corregirlos uno por uno.

Hay que tener en cuenta que aunque estas utilidades pueden ser de gran ayuda para traducir en la linea de comandos, se recomienda el uso de una herramienta especializada como por ejemplo poedit. Además, es una buena idea leer la documentación de debian sobre localizacion (l10n) y, especificamente para live-manual, las Directrices para los traductores.

Nota: Se puede utilizar make clean para limpiar el árbol git antes de enviar los cambios. Este paso no es obligatorio, gracias al fichero .gitignore, pero es una buena práctica para evitar enviar ficheros involuntariamente.