54
Manual Debian Live Debian Live Project <[email protected]> September 12, 2011

Live Manual.landscape Letter

  • Upload
    raosdi

  • View
    16

  • Download
    4

Embed Size (px)

Citation preview

  • Manual Debian Live

    Debian Live Project

    September 12, 2011

  • Copyright 2006-2011 Debian Live Project;License: Este programa es software libre: puede ser redis-tribuido y / o modificado bajo los trminos de la GNU GeneralPublic License publicada por la Free Software Foundation,bien de la versin 3 de la Licencia, o (a su eleccin) cualquierversin posterior.

    Este programa se distribuye con la esperanza de que seatil, pero SIN NINGUNA GARANTA, incluso sin la garantaimplcita de COMERCIALIZACIN o IDONEIDAD PARA UNPROPSITO PARTICULAR. Consulte la GNU General PublicLicense para ms detalles.

    Debera haber recibido una copia de la General Pub-lic License GNU junto con este programa. Si no, veahttp://www.gnu.org/licenses/.

    El texto completo de la GNU Licencia Pblica General sepueden encontrar en /usr/share/common-licenses/GPL-3

    ii

  • Contents

    Contents

    Manual Debian Live 1

    Acerca de este manual 11. Acerca de este manual . . . . . . . . . . . . . . . . 1

    1.1 Para el impaciente. . . . . . . . . . . . . . . 11.2 Trminos . . . . . . . . . . . . . . . . . . . 11.3 Autores . . . . . . . . . . . . . . . . . . . . 21.4 Cmo contribuir en este documento . . . . 3

    1.4.1 Aplicacin de parches . . . . . . . . . . 31.4.2 Traducciones . . . . . . . . . . . . . . . 4

    2. Acerca del Proyecto Debian Live . . . . . . . . . . 42.1 Motivacin . . . . . . . . . . . . . . . . . . . 4

    2.1.1 Desventajas en los sistemas Live ac-tuales . . . . . . . . . . . . . . . . . . . 4

    2.1.2 El porqu de crear un Sistema Live pro-pio. . . . . . . . . . . . . . . . . . . . . . 5

    2.2 Filosofa . . . . . . . . . . . . . . . . . . . . 52.2.1 Solamente paquetes sin modificacin

    alguna de Debian main . . . . . . . . 52.2.2 Sin configuracin especial para el Sis-

    tema Live . . . . . . . . . . . . . . . . . 52.3 Contacto . . . . . . . . . . . . . . . . . . . . 5

    Usuario 63. Instalacin . . . . . . . . . . . . . . . . . . . . . . . 6

    3.1 Requisitos . . . . . . . . . . . . . . . . . . . 63.2 Instalacin de live-build . . . . . . . . . . . 6

    3.2.1 Desde el repositorio Debian. . . . . . . 63.2.2 A partir del cdigo fuente . . . . . . . . 63.2.3 A partir de instantneas . . . . . . . 7

    3.3 live-boot y live-config . . . . . . . . . . . . . 73.3.1 Desde el repositorio Debian. . . . . . . 73.3.2 A partir del cdigo fuente . . . . . . . . 7

    3.3.3 A partir de instantneas . . . . . . . 84. Conceptos bsicos . . . . . . . . . . . . . . . . . . 8

    4.1 Qu es un sistema en vivo? . . . . . . . . 84.2 Primeros pasos: creacin de una imagen

    ISO hbrida . . . . . . . . . . . . . . . . 94.3 Usar una imagen ISO hbrida . . . . . . . . 9

    4.3.1 Grabar una imagen ISO en un mediofsico. . . . . . . . . . . . . . . . . . . . 9

    4.3.2 Copiar una imagen ISO hbrida a un dis-positivo USB . . . . . . . . . . . . . . . 10

    4.3.3 Arrancar los medios en vivo . . . . . . 104.4 Usar una mquina virtual para pruebas . . . 10

    4.4.1 Probar una imagen ISO con QEMU . . 114.4.2 Probar una imagen ISO con virtualbox-

    ose . . . . . . . . . . . . . . . . . . . . . 114.5 Crear una imagen USB/HDD . . . . . . . . 114.6 Utilizar una imgen USB/HDD . . . . . . . . 12

    4.6.1 Probar una imgen USB/HDD con Qemu 124.6.2 Usar el espacio libre en el dispositivo

    USB . . . . . . . . . . . . . . . . . . . . 124.7 Creacin de una imagen de arranque en red 12

    4.7.1 Servidor DHCP . . . . . . . . . . . . . 134.7.2 Servidor TFTP . . . . . . . . . . . . . . 134.7.3 Servidor NFS . . . . . . . . . . . . . . . 134.7.4 Cmo probar el arranque en red . . . . 144.7.5 Qemu . . . . . . . . . . . . . . . . . . . 144.7.6 VMWare Player . . . . . . . . . . . . . 14

    5. Descripcin general de las herramientas . . . . . . 155.1 live-build . . . . . . . . . . . . . . . . . . . . 15

    5.1.1 El comando lb config . . . . . . . . . . 155.1.2 El comando lb build . . . . . . . . . . . 165.1.3 El comando lb clean . . . . . . . . . . . 17

    5.2 El paquete live-boot . . . . . . . . . . . . . 175.3 El paquete live-config . . . . . . . . . . . . 17

    iii

  • Contents

    6. Gestionar una configuracin . . . . . . . . . . . . . 176.1 Utilizacin de auto para gestionar los cam-

    bios de la configuracin . . . . . . . . . 176.2 Un ejemplo de scripts auto. . . . . . . . . . 18

    7. Descripcin general de la personalizacin. . . . . . 187.1 Configuracin en el momento de la creacin

    vs en el momento del arranque . . . . . 197.2 Etapas de la creacin . . . . . . . . . . . . 197.3 Opciones para lb config en ficheros . . . . . 207.4 Tareas de personalizacin . . . . . . . . . . 20

    8. Personalizacin de la instalacin de paquetes . . . 208.1 Origen de los paquetes . . . . . . . . . . . 20

    8.1.1 Distribucin, reas de archivo y modo . 208.1.2 Rplicas de Distribucin Debian . . . . 218.1.3 Rplicas de Distribution utilizadas du-

    rante la creacin . . . . . . . . . . . . . 218.1.4 Rplicas de distribucin Debianutilizadas en la ejecucin. . . . . . . . . 22

    8.1.5 Repositorios adicionales . . . . . . . . 228.2 Seleccin de los paquetes a instalar . . . . 22

    8.2.1 Seleccin de unos pocos paquetes . . 238.2.2 Listas de paquetes . . . . . . . . . . . 238.2.3 Listas de paquetes predefinidas . . . . 238.2.4 Listas de paquetes locales . . . . . . . 238.2.5 Listas de paquetes locales para binary 248.2.6 Extensin de una lista de paquetes dada

    mediante includes . . . . . . . . . . . 248.2.7 Utilizacin de condiciones dentro de las

    listas de paquetes . . . . . . . . . . . . 248.2.8 Tareas . . . . . . . . . . . . . . . . . . 258.2.9 Tareas de Escritorio e Idioma . . . . . . 25

    8.3 Instalar paquetes de terceros o paquetesmodificados . . . . . . . . . . . . . . . . 26

    8.3.1 Mtodo chroot_local-packages para in-stalar paquetes personalizados . . . . . 26

    8.3.2 Mtodo de repositorio APT para instalarpaquetes personalizados . . . . . . . . 27

    8.3.3 Paquetes personalizados y APT . . . . 278.4 Configurar APT en la creacin . . . . . . . . 27

    8.4.1 Utilizar apt o aptitude . . . . . . . . . . 278.4.2 Utilizacin de un proxy con APT . . . . 288.4.3 Ajuste de APT para ahorrar espacio . . 288.4.4 Pasar opciones a apt o a aptitude . . . 288.4.5 APT pinning . . . . . . . . . . . . . . . 28

    9. Personalizacin de contenidos . . . . . . . . . . . . 299.1 Includes . . . . . . . . . . . . . . . . . . . . 29

    9.1.1 Includes locales en Live/chroot . . . . . 309.1.2 Includes locales en Binary . . . . . . . 309.1.3 Includes en Binary . . . . . . . . . . . . 30

    9.2 Scripts gancho (Hooks) . . . . . . . . . . . 319.2.1 Scripts gancho locales en Live/chroot . 319.2.2 Scripts gancho en tiempo de arranque 319.2.3 Scripts gancho locales en Binary . . . . 31

    9.3 Preconfiguracin de las preguntas de Deb-conf . . . . . . . . . . . . . . . . . . . . 31

    10. Personalizacin del comportamiento en tiempo deejecucin. . . . . . . . . . . . . . . . . . . . . . . 3210.1 Personalizacin del usuario por defecto del

    sistema en vivo . . . . . . . . . . . . . . 3210.2 Personalizacin de las variantes locales e

    idioma . . . . . . . . . . . . . . . . . . . 3210.3 Persistencia (Modo guardar cambios) . . . 33

    10.3.1 Persistencia total . . . . . . . . . . . . 3410.3.2 Montar Home de forma automtica . . 3410.3.3 Instantneas . . . . . . . . . . . . . . 3410.3.4 SubText persistente . . . . . . . . . . 3510.3.5 Remasterizacin parcial . . . . . . . . 35

    iv

  • Contents

    11. Personalizacin de la imagen binaria . . . . . . . 3511.1 Gestor de arranque . . . . . . . . . . . . . 3511.2 Metadatos ISO . . . . . . . . . . . . . . . . 35

    12. Personalizacin del Instalador de Debian . . . . . 3512.1 Tipos de imgenes segn el instalador . . 3612.2 Personalizando el Instalador de Debianme-

    diante preconfiguracin . . . . . . . . . 3712.3 Personalizar el contenido del Instalador de

    Debian . . . . . . . . . . . . . . . . . . . 37

    Proyecto 3713. Informes de errores. . . . . . . . . . . . . . . . . . 37

    13.1 Problemas conocidos . . . . . . . . . . . . 3713.2 Reconstruir desde cero . . . . . . . . . . . 3813.3 Utilizar paquetes actualizados . . . . . . . 3813.4 Recopilar informacin . . . . . . . . . . . . 3813.5 Aislar el fallo si es posible . . . . . . . . . 3913.6 Utilizar el paquete correcto sobre el que in-

    formar del error . . . . . . . . . . . . . . 3913.6.1 En la preinstalacin (bootstrap) en

    tiempo de creacin. . . . . . . . . . . . 3913.6.2 Mientras se instalan paquetes en

    tiempo de creacin. . . . . . . . . . . . 3913.6.3 En tiempo de arranque . . . . . . . . 3913.6.4 En tiempo de ejecucin . . . . . . . . 40

    13.7 Hacer la investigacin . . . . . . . . . . . 4013.8 Dnde informar de los fallos . . . . . . . . 40

    14. Estilo de cdigo . . . . . . . . . . . . . . . . . . . 4014.1 Compatibilidad . . . . . . . . . . . . . . . . 4014.2 Sangrado . . . . . . . . . . . . . . . . . . 4114.3 Ajuste de lneas . . . . . . . . . . . . . . . 4114.4 Variables . . . . . . . . . . . . . . . . . . . 4114.5 Miscelnea . . . . . . . . . . . . . . . . . . 42

    15. Procedimientos . . . . . . . . . . . . . . . . . . . 4215.1 Subir Udebs . . . . . . . . . . . . . . . . . 42

    15.2 Principales lanzamientos . . . . . . . . . . 4215.3 Nuevas versiones . . . . . . . . . . . . . . 42

    15.3.1 Plantilla para anunciar nuevas ver-siones. . . . . . . . . . . . . . . . . . . . 42

    Ejemplos 4416. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . 44

    16.1 Uso de los ejemplos . . . . . . . . . . . . 4416.2 Tutorial 1: Una imagen estndar . . . . . . 4416.3 Tutorial 2: Una utilidad de navegador web 4516.4 Tutorial 3: Una imagen personalizada . . . 45

    16.4.1 Primera revisin . . . . . . . . . . . . 4516.4.2 Segunda revisin . . . . . . . . . . . . 46

    16.5 Un cliente VNC kiosk . . . . . . . . . . . . 4616.6 Una imagen bsica para un pendrive USB

    de 128M . . . . . . . . . . . . . . . . . . 4716.7 Un escritorio KDE con variante local e in-

    stalador . . . . . . . . . . . . . . . . . . 48

    Metadata 49SiSU Metadata, document information . . . . . . . . . 49

    v

  • Manual Debian Live

    Manual Debian Live1

    Acerca de este manual2

    1. Acerca de este manual3

    El objetivo principal de este manual es servir como nico punto4de acceso a toda la documentacin referente al projecto DebianLive. Est principalmente enfocado a ayudar en la creacin deun sistema en vivo y no est dirigido al usuario final de es-tos sistemas. Un usuario final puede encontrar informacintil en las siguentes secciones: Conceptos bsicos cubre lapreparacin de las imgenes para arrancar un sistema desdeun medio de almacenamiento o desde red local. Personal-izacin del comportamiento en tiempo de ejecucin describealguna de las opciones que pueden especificarse en el indi-cador de arranque, como pueden ser la seleccin de la distribu-cin del teclado, las variantes locales o la persistencia.

    Algunos de los comandos mencionados en el texto deben ser5ejecutados con privilegios de superusuario, que pueden serobtenidos accediendo a la cuenta de root mediante la ordensu o mediante la orden sudo. Para distinguir las ordenes quedeben ser ejecutadas como usuario no privilegiado de las quesi requieren privilegios de superusuario se ha prefijado con $las primeras y con # las segundas. Estos smbolos no son partede la orden.

    1.1 Para el impaciente.6

    Aunque se cree que todo lo descrito en este manual es impor-7tante para la mayora de los usuarios, es cierto que hay muchomaterial a interiorizar y que los usuarios desean experimentarcon las herramientas de forma rpida y satisfactoria antes deentrar en detalles. sta es la razn por la que se presentan tres

    tutoriales en la seccin Ejemplos pensados para aprender aconfigurar y construir imgenes de sistemas en vivo de formabsica. Se deber leer primero Uso de ejemplos, seguido deTutorial 1: Una imagen estndar y Tutorial 2: Una utilidadde navegador web, para finalizar con Tutorial 3: Una imagenpersonalizada. Al final de estos tutoriales, el lector tendr unavisin de lo que se puede hacer con Debian Live. Se anima aprofundizar en el estudio del manual con la lectura detenida delsiguiente captulo, Conceptos bsicos, y de una manera mssomera el captulo La creacin de una imagen netboot, paraacabar con la lectura de Descripcin general de la personal-izacin y los captulos que le siguen. Se espera que, en estepunto, el lector est lo suficientemente motivado con lo que sepuede hacer con Debian Live para leer el resto del manual, deprincipio a fin.

    1.2 Trminos 8

    Sistema en vivo : Se entiende por sistema en vivo aquel sis- 9tema operativo que se puede arrancar sin instalacin previaen el disco duro. Un sistema en vivo no altera ningn sis-tema operativo previamente instalado ni ningn fichero ex-istente en el disco duro de la mquina a menos que se leinstruya para hacerlo. Los sistemas en vivo son arrancadostpicamente desde medios extrables como CD, DVD o llavesUSB. Algunos pueden tambin arrancar desde la red local.

    Debian Live : Es un subproyecto de Debian que mantiene 10los paquetes Debian live-boot, live-build, live-config y live-manual.

    Sistema Debian Live : Es un sistema en vivo que utiliza 11programas del sistema operativo Debian y que puede ser ar-rancado desde medios extrables como CD, DVD o llavesUSB, desde red local (mediante imgenes netboot) o desdeInternet (utilizando la opcin de arranque fetch=URL).

    1

  • Manual Debian Live

    Sistema husped : Es el conjunto de herramientas y equipo12utilizado para crear el sistema en vivo.

    Sistema objetivo : Es el conjunto de herramientas y equipo13donde se ejecutar el sistema en vivo.

    live-boot : Es una coleccin de scripts que sern respons-14ables de arrancar el sistema en vivo. live-boot fue anterior-mente una parte del paquete live-initramfs.

    live-build : Es una coleccin de scripts utilizados para con-15struir sistemas Debian Live personalizados. live-build fueconocido anteriormente como live-helper, y en una versinanterior como live-package.

    live-config : Es una coleccin de scripts utilizados para con-16figurar un sistema en vivo durante el proceso de arranque.live-config fue anteriormente parte del paquete live-initramfs.

    live-manual : Este documento forma parte de un paquete17llamado live-manual.

    Instalador de Debian (Debian Installer o d-i) : Es el mecan-18ismo oficial de instalacin para la distribucin Debian.

    Parmetros de arranque : Parmetros que son entregados19al gestor de arranque (bootloader) para modificar el compor-tamiento del kernel o del conjunto de scripts live-config. Sonllamados tambin Parmetros de kernel u Opciones de ar-ranque.

    chroot : El programa chroot, chroot(8), permite ejecutar20diferentes instancias de un entorno GNU/Linux en un solosistema de manera simultnea sin necesidad de reiniciar elsistema.

    Imagen binaria : Es un fichero binario que contiene el sis-21tema en vivo. Su nombre puede ser binary.iso o binary.imgdependiendo de su formato.

    Distribucin objetivo : Es la versin de la distribucin De-22bian en la cual estar basado el sistema en vivo que puedediferir de la versin de la distribucin en el sistema husped.

    Squeeze/Wheezy/Sid (stable/testing/unstable) : Son los 23nombres clave de las diferentes versiones de distribucinDebian. En el momento de escribir este documento,Squeeze es la actual versin stable o estable, Wheezyes la actual versin testing o en pruebas. Sid es y sersiempre sinnimo de versin unstable o inestable. A lolargo de todo el manual se usan los nombres en clave delas versiones ya que las herramientas tambin los usan.

    La distribucin stable contiene la ltima distribucin Debian 24oficialmente publicada. La distribucin testing est en larampa de salida para ser la prxima distribucin stable .La principal ventaja de utilizar esta distribucin es que tieneversiones de programas ms recientes si se compara con laversin stable . La distribucin unstable es dnde se realizael desarrollo de Debian. Generalmente esta distribucin esusada por los desarrolladores y aquellos que les gusta vivir alfilo de lo imposible.

    1.3 Autores 25

    Lista de autores (en orden alfabtico): 26 Ben Armstrong 27 Brendan Sleight 28 Chris Lamb 29 Daniel Baumann 30 Franklin Piat 31 Jonas Stein 32 Kai Hendry 33

    2

  • Manual Debian Live

    Marco Amadori34

    Mathieu Geli35

    Matthias Kirschner36

    Richard Nelson37

    Trent W. Buck38

    1.4 Cmo contribuir en este documento39

    Este manual se ha creado como un proyecto comunitario y40cualquier propuesta para su mejora u otras contribuciones sonsiempre bienvenidas. La mejor forma de hacer una contribu-cin es enviarla a la lista de correo. Ver la seccin Contactopara ms informacin.

    Cuando se enva una contribucin se debe identificar clara-41mente su copyright e incluir la declaracin de licencia. Se hacenotar que para ser aceptada, una contribucin debe ser licen-ciada bajo la misma licencia que el resto del documento, estoes, GPL versin 3 o posterior.

    Los originales de este manual se mantienen utilizando el sis-42tema de control de versiones Git. Se puede obtener la copiams actualizada ejecutando la siguiente orden:$ git clone43

    git://live.debian.net/git/live-manual.gitAntes de enviar una contribucin se debera realizar una visual-44izacin del trabajo realizado. Para ello asegurarse de tener in-stalados los paquetes necesarios para la construccin del live-manual ejecutando la siguiente orden:

    # apt-get install make po4a sisu-complete45libnokogiri-rubySe puede realizar la construccin del manual posicionndose46

    en el directorio de nivel superior, o sea, en el directorio clonadomediante Git y ejecutando la siguiente orden:

    $ make build 47Ya que la construccin del manual para todos los idiomas so- 48portados tarda un rato, puede ser mejor crear un solo idioma.Esto puede realizarse ejecutando la siguiente orden:$ make build LANGUAGES=en 49

    1.4.1 Aplicacin de parches 50

    Cualquiera puede hacer una entrega en el repositorio. Sin em- 51bargo, a la hora de hacer grandes cambios, es conveniente en-viarlos a la lista de correo para discutirlos primero. Para realizaruna entrega al repositorio se debe seguir el siguiente proced-imiento: Obtener la clave pblica de entrega: 52

    $ mkdir -p ~/.ssh/identity.d 53$ wget http://live.debian.net/other/keys/[email protected]

    \-O ~/.ssh/identity.d/[email protected]

    $ wget http://live.debian.net/other/keys/[email protected]\

    -O ~/.ssh/identity.d/[email protected]$ chmod 0600

    ~/.ssh/identity.d/[email protected]* Aadir la siguiente seccin en el fichero de configuracin de 54openssh-client:$ cat >> ~/.ssh/config

  • Manual Debian Live

    Obtener un clon del manual mediante git utilizando ssh:56$ git clone [email protected]:/live-manual.git57$ cd live-manual && git checkout debian-next

    Asegurarse de enviar los cambios a la rama debian-next y no58a la rama Debian.

    Despus de editar los ficheros que se deseen en manual/-59en/, ejecutar make commit en el directorio superior parasanear los ficheros y actualizar los ficheros de traducciones:$ make commit60

    Una vez se ha saneado, se debern entregar los cambios.61Se deber escribir un mensaje de entrega que consis-tir en una o varias frases en ingles, comenzando conuna letra mayscula y acabando con un punto final. Eshabitual comenzar estas frases con la forma `Fixing/Adding/-Removing/Correcting/Translating', por ejemplo:$ git commit -a -m "Adding a section on applying62

    patches."

    Para finalizar se realizar la entrega al servidor utilizando el63siguiente comando:$ git push64

    1.4.2 Traducciones65

    Para enviar una traduccin para un nuevo idioma, se deben66seguir los siguientes pasos:

    Traducir los ficheros about_manual.ssi.pot, about_project.ssi.pot67e index.html.in.pot al idioma deseado con cualquier editor(como puede ser poedit) y enviarlos a la lista de correos.Una vez hayan sido revisados, el idioma ser aadido almanual, (aadiendo los ficheros .po) y se activar en elautobuild.

    Una vez que el nuevo idioma haya sido aadido, se puede68comenzar la traduccin de todos los ficheros .po exisitentesen manual/po/ de manera aleatoria.

    No se debe olvidar la ejecucin del comando make commit 69para asegurar que los manuales traducidos son actualizadosdesde los ficheros .po, antes de realizar la entrega mediantegit commit -a y git push.

    2. Acerca del Proyecto Debian Live 70

    2.1 Motivacin 71

    2.1.1 Desventajas en los sistemas Live actuales 72

    Cuando se comenz el trabajo en Debian Live, ya existan var- 73ios Sistemas Live disponibles basados en la distribucin De-bian y todos hacian un buen trabajo. Desde la persectiva deDebian, la mayora de estos sistemas tenan alguna de estasdesventajas: No eran proyectos de Debian y por lo tanto no contaban con 74soporte desde dentro de Debian.

    Mezclaban paquetes de diferentes versiones, por ejemplo 75testing y unstable .

    Solamente soportaban la arquitectura i386. 76 Modificaban el comportamiento y/o la apariencia de los pa- 77quetes, eliminando contenido para reducirlos de tamao.

    Incluan paquetes de fuera del archivo de Debian. 78 Utilizaban kernels personalizados con parches que no eran 79parte de Debian.

    Eran demasiado lentos, debido a su gran tamao, para ser 80utilizados como sistemas de rescate.

    4

  • Manual Debian Live

    No disponan de diferentesmedios de instalacin, comoCDs,81DVDs, llaves USB o imgenes de arranque por red netboot.

    2.1.2 El porqu de crear un Sistema Live propio.82

    Debian es el SistemaOperativo Universal: Debian tiene un Sis-83tema Live para mostrar y representar el autntico y verdaderoDebian con las siguientes ventajas fundamentales:

    Debera ser un subproyecto de Debian.84

    Refleja el estado (actual) de una versin Debian.85

    Se ejecuta en tantas arquitecturas como es posible.86

    Consiste solamente de paquetes Debian sin modificar.87

    No contiene ningn paquete que no forma parte del archivo88de Debian.

    Utiliza kernels que provienen de Debian inalterados sin89parches adicionales.

    2.2 Filosofa90

    2.2.1 Solamente paquetes sin modificacin alguna de91Debian main

    Solamente se utilizarn paquetes del repositorio de Debian de92la seccin main. La seccin non-free no es parte de Debiany por lo tanto no puede ser utilizada de ninguna de las maneraspara generar imgenes de sistema oficiales.

    No se modificar ningn paquete. Siempre que se necesite93modificar algo, se har en coordinacin con el correspondientemantenedor del paquete en Debian.

    Como una excepcin, los paquetes del proyecto como son live-94

    boot, live-build o live-config, pueden ser utilizados temporal-mente desde el repositorio del proyecto, por razones de de-sarrollo (por ejemplo para crear instantaneas de pruebas). Es-tos paquetes sern actualizados en Debian de manera regu-lar.

    2.2.2 Sin configuracin especial para el Sistema Live 95

    En esta fase, no se crear o instalarn configuraciones alter- 96nativas o de ejemplo. Se utilizarn todos los paquetes con suconfiguracin por defecto, tal y como quedan despus de unainstalacin normal de Debian.

    Siempre que se necesite una configuracin diferente a la de por 97defecto, se har en coodinacin con el mantenedor del paqueteDebian correspondiente.

    En lb config se emplea un sistema para configurar paque- 98tes que utiliza debconf (mediante el uso de la opcin --preseedFICHERO), permitiendo la personalizacin de la configuracinde los paquetes que van a ser instalados en la imagen DebianLive que se genere, pero las imgenes Live oficiales solamenteutilizarn la configuracin por defecto.

    Excepcin: Es esencial realizar unos pocos cambios para que 99un sistema pueda funcionar en vivo (como por ejemplo con-figurar pam para permitir contraseas vacias). Estos cambiosesenciales se deben mantener tan pequeos como sea posibley debern ser mezclados en el repositorio Debian siempre queexista la posibilidad.

    2.3 Contacto 100

    Lista de correo : El sistema de contacto principal del 101proyecto es la lista de correo en http://lists.debian.org/

    5

  • Manual Debian Live

    debian-live/. Se puede enviar un correo a la lista di-rectamente dirigindolo a [email protected] archivos histricos de la lista estn disponibles enhttp://lists.debian.org/debian-live/.

    IRC : Un nmero importante de usuarios y desarrol-102ladores suele estar presente en el canal #debian-live deirc.debian.org (OFTC). Por favor, se debe ser pacientecuando se espera una respuesta en el IRC. Si la respuestano llega, se puede enviar la pregunta a la lista de correos.

    BTS : El sistema de gestin de errores de Debian (BTS) con-103tiene detalles de problemas enviados por usuarios y desar-rolladores. Los errores estn numerados y se mantiene unregistro hasta que son reparados. Si se desea ms informa-cin ver Informes de errores.

    Wiki : El wiki de Debian Live en http://wiki.debian.org/104DebianLive es el lugar donde obtener informacin, discutirsobre la aplicacin de tecnologas y de documentar her-ramientas para los sistemas Debian Live que vayan msall del mbito de este documento.

    Usuario105

    3. Instalacin106

    3.1 Requisitos107

    Para crear las imgenes de Debian Live son necesarios los108siguientes requisitos: Acceso de superusuario (root)109 Una versin actualizada de live-build110 Un intrprete de comandos compatible con POSIX, como por111ejemplo bash o dash.

    debootstrap o cdebootstrap 112

    Linux 2.6.x 113Tener en cuenta que no es necesario el uso de Debian o 114una distribucin derivada de Debian - live-build funcionaren casi cualquier distribucin que cumpla con los requisitosanteriores.

    3.2 Instalacin de live-build 115

    Se puede instalar live-build de varias maneras difer- 116entes:

    Desde el repositorio Debian 117

    A partir del cdigo fuente 118

    Desde instantneas 119Si se usa Debian, el mtodo recomendado es instalar live-build 120a travs del repositorio de Debian.

    3.2.1 Desde el repositorio Debian. 121

    Simplemente instalar live-build como cualquier otro pa- 122quete:

    # apt-get install live-build 123o 124

    # aptitude install live-build 125

    3.2.2 A partir del cdigo fuente 126

    live-build se desarrolla utilizando el sistema de control de ver- 127siones Git. En los sistemas basados en Debian se encuentrael paquete git. Para ver el ltimo cdigo, ejecutar:

    6

  • Manual Debian Live

    $ git clone 128git://live.debian.net/git/live-build.gitSe puede crear e instalar el paquete Debian ejecutando:129

    $ cd live-build130$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd ..

    Si se desea, se podr instalar cualquiera de los paquetes .deb131recien creados con el procedimiento anterior, p.ej.

    # dpkg -i live-build_2.0.8-1_all.deb132Tambin se puede instalar live-build directamente en el sistema133ejecutando:

    # make install134y desinstalarlo con:135

    # make uninstall136

    3.2.3 A partir de instantneas137

    Si no se desea crear o instalar live-build a partir del cdigo138fuente, se puede usar instantneas. Estas se generan au-tomticamente a partir de la ltima versin de Git y estndisponibles en http://live.debian.net/debian/.

    3.3 live-boot y live-config139

    Nota: No es necesario instalar live-boot o live-config en el140sistema para crear sistemas personalizados de Debian Live.Sin embargo, eso no causar ningn dao y es til por motivosde referencia.

    3.3.1 Desde el repositorio Debian.141

    Tanto live-boot como live-config estn disponibles en el repos-142itorio Debian siguiendo la Instalacin de live-build.

    3.3.2 A partir del cdigo fuente 143

    Para utilizar el ltimo cdigo fuente a partir de git, se puede 144seguir el proceso siguiente. Asegurarse de estar familiarizadocon los trminos mencionados en Trminos.

    Comprobar el cdigo fuente de live-boot y live-config 145$ git clone 146

    git://live.debian.net/git/live-boot.git$ git clone

    git://live.debian.net/git/live-config.gitSi se desea generar estos paquetes a partir del cdigo fuente, 147se puede consultar las pginas del manual para ms detallessobre la personalizacin de live-boot y live-config.

    Creacin de los paquetes .deb de live-boot y live-config 148Se debe crear ya sea en la distribucin de destino o en un 149entorno chroot que contenga la plataforma de destino: es de-cir, si el objetivo es Squeeze entonces se debe crear usandoSqueeze .Utilizar un programa creador personal como pbuilder o sbuild 150si se necesita crear live-boot para una distribucin de des-tino diferente del sistema de creacin. Por ejemplo, para lasimgenes en vivo de Squeeze , crear live-boot en un en-torno chroot. Si la distribucin de destino coincide con la dis-tribucin actual, se puede crear directamente sobre el sistemade creacin con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev ):

    $ cd live-boot 151$ dpkg-buildpackage -b -uc -us$ cd ../live-config$ dpkg-buildpackage -b -uc -us

    Utilizar todos los ficheros .deb generados 152Como live-boot y live-config son instalados por el sistema live- 153

    7

  • Manual Debian Live

    build, la instalacin de estos paquetes en el sistema anfitrinno es suficiente: Se deben tratar los archivos .deb genera-dos exctamente igual que cualquier otro paquete personal-izado. Vase Personalizacin de la instalacin de paquetespara ms informacin. Se debe prestar especial atencin a losRepositorios adicionales.

    3.3.3 A partir de instantneas154

    Se puede dejar que live-build utilice automticamente las lti-155mas instantneas de live-boot y live-config mediante la config-uracin de repsitorios de terceros en el directorio de config-uracin de live-build. Suponiendo que ya se haya creado unrbol de configuracin con lb config:

    $ lb config --repository live.debian.net156

    4. Conceptos bsicos157

    Este captulo contiene una breve descripcin del proceso de158creacin de las imgenes en vivo y las instrucciones para el usode los tres tipos de imgenes ms utilizadas. El tipo de imagenms verstil, iso-hybrid, se puede utilizar en una mquina vir-tual, en medios pticos u otros dispositivo de almacenamientoUSB. En ciertos casos especiales, como para el uso de lapersistencia (persistence N. del T.) las imgenes usb-hdd,pueden ser las ms adecuadas para dispositivos USB. El cap-tulo termina con instrucciones para crear y usar una imagende tipo red, que es un poco ms complicado debido a la con-figuracin necesaria en el servidor. Es un tema ligeramenteavanzado para cualquier persona que no est familiarizada conel arranque en red, pero se incluye aqu porque una vez quese realiza la instalacin, es una forma muy conveniente paraprobar y desplegar imgenes de arranque en red local sin la

    molestia de tratar con los dispositivos de almacenamiento dela imagen.

    A lo largo de todo el captulo se hace a menudo referencia 159al nombre de las imgenes producidas por defecto por live-build. Si se descarga una imagen ya creada, el nombre puedevariar.

    4.1 Qu es un sistema en vivo? 160

    Por lo general, un sistema en vivo se refiere a un sistema oper- 161ativo que arranca en un equipo desde unmedio extrable, comoun CD-ROM, dispositivo USB, o desde una red, listo para usarsin ningn tipo de instalacin en la unidad de costumbre, conconfiguracin automtica en tiempo de ejecucin (Ver Trmi-nos).

    Debian Live, es un sistema Debian GNU/Linux, creado para 162una de las arquitecturas soportadas (actualmente amd64, i386,powerpc y sparc). Se compone de las siguientes partes:

    Imgen del kernel de Linux , normalmente llamada 163vmlinuz*

    Imagen del Disco RAM inicial (initrd) : Un Disco RAM con- 164figurado para el arranque de Linux, que incluya los mdulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha.

    Imagen del sistema : La imagen del sistema de ficheros raiz. 165Por lo general, se utiliza un sistema de ficheros comprimidoSquashFS para reducir al mnimo el tamao de la imagen deDebian Live. Hay que tener en cuenta que es de slo lectura.Por lo tanto, durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de unin que per-mite escribir ficheros en el sistema en funcionamiento. Sinembargo, todas las modificaciones se perdern al apagar el

    8

  • Manual Debian Live

    equipo a menos que se use de modo opcional la persistencia(ver Persistencia).

    Gestor de arranque : Una pequea pieza de cdigo166diseada para arrancar desde el medio de almace-namiento escogido, posiblemente mostrando un men oun indicador de arranque para permitir la seleccin deopciones/configuracin. Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado. Sepueden usar soluciones diferentes, dependiendo del mediode almacenamiento de destino y el formato del sistemade ficheros que contenga los componentes mencionadosanteriormente: isolinux para arrancar desde un CD o DVDen formato ISO9660, syslinux para arrancar desde el discoduro o unidad USB desde una particin VFAT, extlinux paraformatos ext2/3/4 y particiones btrfs, pxelinux para arranquede red PXE, GRUB para particiones ext2/3/4 , etc.

    Se puede usar live-build para crear la imagen del sistema167a partir de ciertas especificaciones, incluir un kernel deLinux, su initrd y un gestor de arranque para ponerlos enfuncionamiento, todo ello en un formato que depende delmedio de almacenamiento elegido (imagen ISO9660, imagende disco, etc.)

    4.2 Primeros pasos: creacin de una imagen ISO168hbrida

    Independientemente del tipo de imagen, cada vez se tendr169que realizar los mismos pasos bsicos para construir una ima-gen. Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hbrida bsicaque contiene slo el sistema estndar de Debian sin X.org. Esadecuada para grabarla en un CD o DVD y tambin para copi-arla en un dispositivo USB.

    En primer lugar, se ejecuta el comando lb config. Esto crear 170una jerarqua config/ en el directorio actual que ser usadapor otros comandos:

    $ lb config 171Al no pasar ningn parmetro a lb config, se indica que se 172quiere utilizar todas las opciones por defecto. VerEl comandolb config para ms detalles.

    Ahora que existe un jerarqua config/, se puede crear la im- 173agen con el comando lb build:

    # lb build 174Este proceso puede llevar un tiempo, dependiendo de la veloci- 175dad de la conexin de red. Cuando haya terminado, deberahaber un fichero binary-hybrid.iso listo para ser usado en eldirectorio actual.

    4.3 Usar una imagen ISO hbrida 176

    Despus de construir o descargar una imagen ISO hbrida, las 177cuales se pueden obtener en http://www.debian.org/CD/live/, elsiguiente paso habitual es preparar los medios de almacenami-eto, ya sean medios pticos CD-R(W) o DVD-R(W) o llavesUSB.

    4.3.1 Grabar una imagen ISO en un medio fsico. 178

    Grabar una imagen ISO es fcil. Simplemente instalar wodim y 179usarlo desde el intrprete de comandos para grabar la imagen.Por ejemplo:

    # apt-get install wodim 180

    $ wodim binary-hybrid.iso

    9

  • Manual Debian Live

    4.3.2 Copiar una imagen ISO hbrida a un dispositivo 181USB

    Las imgenes ISO preparadas con el comando isohybrid182igual que las imgenes del tipo iso-hybrid producidas pordefecto, pueden sencillamente copiarse a una llave USB condd o con un programa equivalente. Conectar una llave USBcon un tamao suficiente para la imagen y determinar qudispositivo es, (device N. del T.) al cual nos referiremosde ahora en adelante como ${USBSTICK}. Este nombre dedispositivo se refiere a la llave entera como por ejemplo/dev/sdb y No a una particin como /dev/sdb1! Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despus de conectar la llave, o mejor an ejecutandols -l /dev/disk/by-id.Cuando se est seguro de tener el nombre del dispositivo cor-183recto, usar el comando dd para copiar la imagen a la llave.Esto borrar de forma definitiva cualquier contenido pre-vio en la llave!$ dd if=binary-hybrid.iso of=${USBSTICK}184

    4.3.3 Arrancar los medios en vivo185

    La primera vez que se arranque desde los medios de almace-186namiento en vivo, ya sea CD, DVD, llave USB, o de arranqueen red PXE, primero puede ser necesario algn tipo de config-uracin en la BIOS de la mquina. Dado que las BIOS varanmucho en sus caractersticas y combinaciones de teclas, no sepuede entrar en el tema en profundidad aqu. Algunas BIOSproporcionan una tecla para abrir un men de dispositivos dearranque que es la manera ms fcil de hacerlo si se encuentradisponible en el sistema.

    Una vez que se haya arrancado desde los medios de almace-187

    namiento externos, se accede a un men de arranque. Si sepulsa la tecla enter, el sistema arrancar usando el modo pordefecto Live y las opciones predeterminadas. Para obtenerms informacin acerca de las opciones de arranque, ver laopcin help del men y tambin las pginas del manual delive-boot y live-config que se encuentran en el sistema envivo.

    Suponiendo que se ha seleccionado Live y arrancado una im- 188agen en vivo por defecto con escritorio grfico, despus deque los mensajes de arranque hayan pasado, se habr inici-ado automticamente una sesin como usuario user y se verel escritorio preparado para ser usado. Si se ha arrancado unaimagen slo con consola como por ejemplo las imgenes pre-determinadas standard o rescue se habr iniciado automti-camente una sesin como usuario user y se ver el cursor delintrprete de comandos preparado para ser usado.

    4.4 Usar una mquina virtual para pruebas 189

    Ejecutar las imgenes en vivo en una mquina virtual (VM) 190puede ser un gran ahorro de tiempo para su desarrollo. Estono est exento de advertencias:

    Para ejecutar unamquina virtual se requiere tener suficiente 191memoria RAM para el sistema operativo husped y el an-fitrin y se recomienda una CPU con soporte de hardwarepara la virtualizacin.

    Existen algunas limitaciones inherentes a la ejecucin en una 192mquina virtual, por ejemplo, rendimiento de video pobre, lalimitada gama de hardware emulado.

    Cuando se desarrolla para un hardware especfico, no hay 193sustituto mejor que el propio hardware.

    A veces hay errores que se refieren nicamente a la ejecu- 194

    10

  • Manual Debian Live

    cin en una mquina virtual. En caso de duda, probar laimagen directamente en el hardware.

    Siempre que se pueda trabajar dentro de estas limitaciones,195mirar que software VM hay disponible y elegir uno que sea ade-cuado segn las necesidades.

    4.4.1 Probar una imagen ISO con QEMU196

    La mquina virtual ms verstil en Debian es QEMU. Si el197procesador tiene soporte de hardware para virtualizacin,utilizar el paquete qemu-kvm en la descripcin del paqueteqemu-kvm se enumera brevemente la lista de requisitos.En primer lugar, instalar qemu-kvm si el procesador lo soporta.198Si no es as, instalar qemu, en cuyo caso el nombre del pro-grama ser qemu en vez de kvm en los siguientes ejemplos. Elpaquete qemu-utils tambin es til para la creacin de im-genes virtuales de disco con qemu-img.

    # apt-get install qemu-kvm qemu-utils199Arrancar una imagen ISO es sencillo:200

    $ kvm -cdrom binary-hybrid.iso201Consultar las pginas del manual para ms detalles.202

    4.4.2 Probar una imagen ISO con virtualbox-ose203

    Para probar una imagen ISO con virtualbox-ose:204# apt-get install virtualbox-ose virtualbox-ose-dkms205

    $ virtualboxCrear una nueva mquina virtual, cambiar la configuracin de206almacenamiento para utilizar binary-hybrid.iso como dis-positivo CD/DVD y arrancar la mquina.Nota: Para probar los sistemas en vivo con soporte X.org207

    en virtualbox-ose, se puede incluir el paquete del driver deVirtualBox X.org, virtualbox-ose-guest-x11, en la configu-racin de live-build. De lo contrario, la resolucin se limita a800x600

    $ lb config --packages virtualbox-ose-guest-x11 208

    4.5 Crear una imagen USB/HDD 209

    La siguiente secuencia de comandos crear una imagen 210USB/HDD bsica que contendr slo el sistema estndarde Debian sin X.org. Es adecuada para el arranque desdedispositivos USB, discos duros USB y otros dispositivos dealmacenamiento porttil. Normalmente, se puede utilizar paraeste propsito una imagen ISO hbrida, pero es posible quela BIOS no maneje adecuadamente las imgenes hbridas.Tambin es interesante una imagen USB/HDD si se deseautilizar el espacio restante en los medios de almacenamientopara una particin con persistencia.

    Nota: si se ha creado una imagen ISO hbrida con el ejemplo 211anterior, se tendr que limpiar el directorio de trabajo con elcomando lb clean (ver El comando lb clean):

    # lb clean --binary 212

    Ejecutar el comando lb config como antes pero esta vez es- 213pecificando el tipo de imagen USB/HDD:

    $ lb config -b usb-hdd 214

    Crear ahora la imagen con el comando lb build: 215

    # lb build 216

    Cuando termine el proceso de creacin, debe haber un fichero 217llamado binary.img en el directorio actual .

    11

  • Manual Debian Live

    4.6 Utilizar una imgen USB/HDD 218

    La imagen binaria generada contiene una particin VFAT y219el gestor de arranque syslinux, lista para ser copiada direc-tamente en un dispositivo USB. Dado que utilizar una ima-gen USB/HDD es igual a usar una imagen ISO hbrida en unUSB, seguir las instrucciones de Usar una imagen ISO hbridacon la diferencia de usar el nombre binary.img en lugar debinary-hybrid.iso.

    4.6.1 Probar una imgen USB/HDD con Qemu220

    En primer lugar, instalar QEMU como se describems arriba en221Probar una imgen ISO con QEMU A continuacin, ejecutarkvm o qemu, segn qu versin necesita el sistema anfitrin yespecificando binary.img como primer disco duro.

    $ kvm -hda binary.img222

    4.6.2 Usar el espacio libre en el dispositivo USB223

    Si se desea usar el espacio libre despus de haber instalado224la imagen binary.img en una llave USB, se puede usar unprograma de particionado como gparted o parted para crearuna particin nueva en el dispositivo. La primera particin serusada por el sistema Debian en vivo.

    # gparted ${USBSTICK}225Despus de crear la particin, dnde ${PARTITION} es el nom-226bre de la particin, por ejemplo /dev/sdb2 se tiene que crear unsistema de ficheros en l. Una opcin posible sera ext4.

    # mkfs.ext4 ${PARTITION}227Nota: Si se desea usar el espacio extra con Windows, segun228parece, ese sistema operativo no puede acceder normalmente

    a otra particin ms que a la primera. Se han comentado al-gunas soluciones a este problema en nuestra lista de correopero segn parece no hay una solucin fcil.

    Recordar: Cada vez que se instale una nueva binary.img en 229el dispositivo, todos los datos del dispositivo se perderndebido a que la tabla de particiones se sobrescribe conel contenido de la imagen, as pues, realizar primero unacopia de seguridad de la particin para poder restaurarlatrs actualizar la imagen en vivo.

    4.7 Creacin de una imagen de arranque en red 230

    La siguiente secuencia de comandos crear una imagen de 231arranque en red bsica que contendr el sistema estndar deDebian sin X.org. Se puede usar para el arranque en red.

    Nota: si se ha seguido algno de los ejemplos anteriores, se 232tendr que limpiar el directorio de trabajo con el comando lbclean:

    # lb clean --binary 233Ejecutar el comando lb config de la siguiente manera para 234configurar la imagen de arranque en red:

    $ lb config -b net --net-root-path "/srv/debian-live" 235--net-root-server "192.168.0.1"A diferencia de las imgenes ISO y USB/HDD, el sistema 236de arranque en red en s mismo no enva la imagen delsistema de ficheros al cliente, por eso los ficheros se debenenviar mediante NFS. Las opciones --net-root-path y--net-root-server especifican la ubicacin y el servidor,respectivamente, del servidor NFS en el que se encuentrala imagen del sistema de ficheros en el arranque. Se debeasegurar que estos se ajustan a los valores adecuados parala red y el servidor deseados.

    12

  • Manual Debian Live

    Crear ahora la imagen con el comando lb build: 237# lb build238

    En un arranque en red, el cliente ejecuta una pequea pieza de239software que generalmente se encuentra en la EPROM de latarjeta Ethernet. Este programa enva una solicitud de DHCPpara obtener una direccin IP e informacin sobre qu hacer acontinuacin. Por lo general, el siguiente paso es conseguir ungestor de arranque de alto nivel a travs del protocolo TFTP.Este gestor podra ser PXELINUX, GRUB, o incluso arrancardirectamente un sistema operativo como Linux.Por ejemplo, si se descomprime el archivo generado240binary-net.tar.gz en el directorio /srv/debian-live, sever la imagen del sistema de ficheros en live/filesystem.squashfsy el kernel, initrd y el gestor de arranque pxelinux entftpboot/debian-live/i386.Ahora se debe configurar tres servicios en el servidor para que241arranque en red: el servidor DHCP, el servidor TFTP y el servi-dor NFS.

    4.7.1 Servidor DHCP242

    Hay que configurar el servidor DHCP de red para asegurar que243proporciona una direccin IP al cliente, y para anunciar la ubi-cacin del gestor de arranque PXE.He aqu un ejemplo que puede servir de inspiracin. Fue es-244crito para el servidor ISCDHCP isc-dhcp-server en su ficherode configuracin /etc/dhcp/dhcpd.conf:

    # /etc/dhcp/dhcpd.conf - fichero de configuracin para245isc-dhcp-server

    ddns-update-style none;

    option domain-name "example.org";

    option domain-name-servers ns1.example.org,ns2.example.org;

    default-lease-time 600;max-lease-time 7200;

    log-facility local7;

    subnet 192.168.0.0 netmask 255.255.255.0 {range 192.168.0.1 192.168.0.254;next-server servername;filename "pxelinux.0";

    }

    4.7.2 Servidor TFTP 246

    Se encarga de suministrar el kernel y el Disco RAM inicial para 247el sistema.Se debe instalar el paquete tftpd-hpa. Este servidor podr 248suministrar todos los ficheros contenidos de un directorio raz,normalmente /srv/tftp. Para permitirle que pueda servir losficheros de /srv/debian-live/tftpboot, se debe ejecutar elsiguiente comando con privilegios de superusuario:

    # dpkg-reconfigure -plow tftpd-hpa 249y llenar el directorio del nuevo servidor tftp cuando sea re- 250querido.

    4.7.3 Servidor NFS 251

    Una vez el equipo cliente ha descargado y arrancado el 252kernel de Linux junto a su initrd, intentar montar el sistemade archivos de la imagen en vivo a travs de un servidorNFS.Se debe instalar el paquete nfs-kernel-server. 253

    13

  • Manual Debian Live

    Entonces, se debe hacer que la imagen del sistema de archivos254est disponible a travs de NFS aadiendo una lnea como lasiguiente para /etc/exports:

    /srv/debian-live255*(ro,async,no_root_squash,no_subtree_check)e informar al servidor NFS sobre esta nueva exportacin con256el siguiente comando:

    # exportfs -rv257La configuracin de estos tres servicios puede ser un poco dif-258cil. Ser necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos. Para obtener ms informacin,ver el wiki de syslinux en http://syslinux.zytor.com/wiki/index.php/PXELINUX o la seccin sobre TFTP Net Booting del Manual del In-stalador de Debian en http://d-i.alioth.debian.org/manual/en.i386/ch04s05.html Esto puede ser til, ya que sus procesos son muysimilares.

    4.7.4 Cmo probar el arranque en red259

    La creacin de una imagen de arranque en red es fcil usando260la mgia de live-build, pero probar las imgenes en mquinasfsicas puede ser un proceso mucho ms lento.Para hacer nuestra vida ms fcil, se puede utilizar la virtual-261izacin. Hay dos soluciones.

    4.7.5 Qemu262

    Install qemu, bridge-utils, sudo.263Se debe editar el fichero /etc/qemu-ifup:264

    #!/bin/sh265sudo -p "Password for $0:" /sbin/ifconfig $1

    172.20.0.1

    echo "Executing /etc/qemu-ifup"echo "Bringing up $1 for bridged mode..."sudo /sbin/ifconfig $1 0.0.0.0 promisc upecho "Adding $1 to br0..."sudo /usr/sbin/brctl addif br0 $1sleep 2

    Obtener o crear un grub-floppy-netboot (en el svn). 266Lanzar qemu con -net nic,vlan=0 -net tap,vlan=0,ifname=tun0267

    4.7.6 VMWare Player 268

    Instalar VMWare Player (Edicin gratuita free as in beer) 269 Crear un directorio PXETester y crear un fichero de texto den- 270tro llamado pxe.vwx

    Copiar este texto dentro: 271#!/usr/bin/vmware 272config.version = "8"virtualHW.version = "4"memsize = "512"MemAllowAutoScaleDown = "FALSE"

    ide0:0.present = "FALSE"ide1:0.present = "FALSE"floppy0.present = "FALSE"sound.present = "FALSE"tools.remindInstall = "FALSE"

    ethernet0.present = "TRUE"ethernet0.addressType = "generated"

    displayName = "Test Boot PXE"guestOS = "other"

    ethernet0.generatedAddress = "00:0c:29:8d:71:3b"uuid.location = "56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d

    8d 71 3b"

    14

  • Manual Debian Live

    uuid.bios = "56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d71 3b"

    ethernet0.generatedAddressOffset = "0"

    Se pueden realizar pruebas con este fichero de configuracin273(p.ej. cambiar el limite de memoria a 256)

    Hacer doble clic en este fichero (o lanzar VMWare player y274seleccionar este fichero).

    Mientras est en ejecucin, si surge esa extraa pregunta,275simplemente hay que pulsar espacio ...

    5. Descripcin general de las herramientas276

    Este captulo contiene una descripcin general de las tres her-277ramientas principales utilizadas en la creacin de sistemas De-bian Live: live-build, live-boot y live-config.

    5.1 live-build278

    live-build es una coleccin de scripts para generar los sistemas279Debian Live. A estos scripts tambin se les conoce como co-mandos.

    La idea detrs de live-build es ser un marco (framework) que280utiliza un directorio de configuracin para automatizar comple-tamente y personalizar todos los aspectos de la creacin deuna imagen de un sistema en vivo.

    Muchos conceptos son similares a las del paquete de her-281ramientas de Debian debhelper escrito por Joey Hess:

    Los scripts tienen una ubicacin central para la configuracin282de su funcionamiento. En debhelper, ste es el subdirecto-rio debian/ de un rbol de paquetes. Por ejemplo, dh_installbuscar, entre otros, un fichero llamado debian/install

    para determinar qu ficheros deben existir en un paquete bi-nario en particular. De la misma manera, live-build almacenatoda su configuracin bajo un subdirectorio config/.

    Los scripts son independientes - es decir, siempre es seguro 283ejecutar cada comando.

    A diferencia de debhelper, live-build contiene una herramienta 284para crear un directorio de configuracin en esqueleto, lbconfig. sto podra ser considerado como similar a her-ramientas tales como dh-make. Para obtener ms informacinsobre lb config, consultar El comando lb configEl resto de esta seccin describe los tres comandos ms im- 285portantes: lb config : Responsable de la creacin de un directorio de 286configuracin del sistema en vivo. Ver El comando lb configpara ms informacin.

    lb build : Responsable de iniciar la creacin de un sistema 287en vivo. Ver El comando lb build para ms informacin.

    lb clean : Responsable de la eliminacin de partes de la 288creacin de un sistema en vivo. Ver El comando lb cleanpara ms informacin.

    5.1.1 El comando lb config 289

    Como se coment en live-build, los scripts que componen 290live-build obtienen su configuracin desde un nico directoriollamado config/. Como la creacin de este directorio a manosera largo y propenso a errores, se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racin.Ejecutar lb config sin argumentos crea un subdirecto- 291rio config/ que se completa con algunas opciones pordefecto:

    15

  • Manual Debian Live

    $ lb config292P: Creating config tree

    $ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 13:02 autodrwxr-xr-x 22 user user 4096 Sep 7 13:02 config

    $ ls -l config/total 104-rw-r--r-- 1 user user 4197 Sep 7 13:02 binarydrwxr-xr-x 2 user user 4096 Sep 7 13:02

    binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    binary_local-debsdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 13:02 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 13:02 chrootdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    chroot_aptdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 13:02

    chroot_local-includes

    drwxr-xr-x 2 user user 4096 Sep 7 13:02chroot_local-packages

    drwxr-xr-x 2 user user 4096 Sep 7 13:02chroot_local-packageslists

    drwxr-xr-x 2 user user 4096 Sep 7 13:02chroot_local-patches

    drwxr-xr-x 2 user user 4096 Sep 7 13:02chroot_local-preseed

    drwxr-xr-x 2 user user 4096 Sep 7 13:02chroot_sources

    -rw-r--r-- 1 user user 2954 Sep 7 13:02 commondrwxr-xr-x 2 user user 4096 Sep 7 13:02 includes-rw-r--r-- 1 user user 205 Sep 7 13:02 sourcedrwxr-xr-x 2 user user 4096 Sep 7 13:02 templates

    Usar lb config sin ningn argumento sera conveniente para 293los usuarios que necesitan una imagen muy bsica, o quetienen intencin de proporcionar ms tarde una configuracinms completa a travs de auto/config (ver Gestionar una con-figuracin para ms detalles).

    Normalmente, se tendr que especificar algunas opciones. Por 294ejemplo, para incluir la lista del paquete `gnome' en la configu-racin:

    $ lb config -p gnome 295Es posible especificar muchas opciones, tales como: 296

    $ lb config --binary-images net --hostname 297live-machine --username live-user ...Una lista completa de opciones est disponible en la pgina del 298manual lb_config.

    5.1.2 El comando lb build 299

    El comando lb build lee la configuracin del directorio con- 300fig/ A continuacin, ejecuta los comandos del nivel inferior msbajo necesarios para crear el sistema en vivo.

    16

  • Manual Debian Live

    5.1.3 El comando lb clean301

    El comando lb clean es el encargado de eliminar varias302partes de una creacin de forma que las creaciones pos-teriores puedan comenzar de forma limpia. Por defecto seeliminan las etapas chroot, binary y source pero se deja elcach intacto. Adems, se pueden limpiar etapas de formaindividual. Por ejemplo, si se han realizado cambios que sloafectan a la etapa binary, se debe usar lb clean --binaryantes de crear una nueva binary. Ver el manual de lb_cleanpara una lista detallada de todas sus opciones

    5.2 El paquete live-boot303

    live-boot es una coleccin de scripts que proporcionan scripts304gancho (hooks) para initramfs-tools, que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo, tales como loscreados por live-build. sto incluye las ISOs de Debian Live,archivos comprimidos en tar de netboot, e imgenes para llavesUSB.En el momento del arranque, buscar en los medios de alma-305cenamiento de slo lectura un directorio / live donde se en-cuentra un sistema de ficheros raz (a menudo una imagen delsistema de ficheros comprimidos como squashfs). Si lo en-cuentra, crear un entorno de escritura, utilizando aufs, paraque arranquen los sistemas tipo Debian.Se puede encontrar ms informacin sobre ramfs ini-306cial en Debian en el Manual del kernel Debian Linux enhttp://kernel-handbook.alioth.debian.org/ concretamente en elcaptulo sobre initramfs.

    5.3 El paquete live-config307

    live-config consiste en una serie de scripts que se ejecutan en308

    el arranque despus de live-boot para configurar el sistemaen vivo de forma automtica. Se ocupa de tareas como lacreacin del nombre del equipo (hostname), las variantes lo-cales y la zona horaria, crear el usuario en vivo, la inhibicin detrabajos de cron y el inicio de sesin automtico del usuario envivo.

    6. Gestionar una configuracin 309

    Este captulo explica como gestionar una configuracin para 310crear un sistema en vivo desde el principio, pasando por suce-sivas versiones tanto de la herramienta live-build como de laimagen del sistema en vivo propiamente dicha.

    6.1 Utilizacin de auto para gestionar los cambios de la 311configuracin

    La configuracin necesaria para crear un sistema en vivo rara 312vez es perfecta a la primera. Lo normal es que se necesite re-alizar una serie de revisiones hasta que se obtenga algo satis-factorio. Sin embargo, las inconsistencias pueden transmitirsede una revisin de la configuracin a otra si no se es lo suficien-temente cuidadoso. El principal problema es que, una vez queuna variable de la configuracin tiene un valor asignado, estevalor no es recalculado en revisiones posteriores de la configu-racin. Esto hace que, si una variable depende del valor de otray esta segunda cambia de valor, el valor actual de la primerano se ve alterado, debido a que ya tena el valor asignado deantemano.Por ejemplo, la primera vez que se asigna la distribucin a uti- 313lizar, se asigna a muchas variables un valor por defecto paraadecuarse a la distribucin seleccionada. Sin embargo, si pos-teriormente se decide modificar la distribucin, estas variablesdependientes continuan reteniendo los valores antiguos que,

    17

  • Manual Debian Live

    por supuesto, no son los adecuados para la nueva distribu-cin.Otro problema es que la ejecucin de la orden lb config no314se reejecutar correctamente si se realiza una actualizacin auna nueva versin de las herramientas live-build que modifiqueel nombre de alguna variable de configuracin. Adems sola-mente podr ser descubierto mediante una revisin manual delos ficheros del directorio config/* que se debern modificarpara asignar las variables de configuracin a un nuevo valorapropiado.Todo esto sera un terrible embrollo si no fuese por los scripts315auto/* simples envoltorios para los comandos lb config,lb build y lb clean que estn diseados para ayudar ala gestin de la configuracin. Simplemente se debe crearun script llamado auto/config que contenga el comando lbconfig con todas las opciones que se deseen y otro scriptllamado auto/clean que elimine los ficheros que contienen losvalores de las variables de configuracin. Estos scripts seejecutarn cada vez que se ejecuten los comandos lb configo lb clean de manera automtica. Esto asegurar que laconfiguracin se mantendr consistente desde una versina otra y desde una versin de las herramientas live-builda otra. (Aunque esto no elimina la necesidad de leer ladocumentacin cuando se instale una nueva version de lasherramientas live-build y quizs realizar algn ajuste manualen los ficheros de configuracin).

    6.2 Un ejemplo de scripts auto.316

    Se debe utilizar scripts auto similares a los ejemplos que se317muestran a continuacin como punto de partida para nuevaconfiguracin de las herramientas live-build. Hay que hacernotar que, cuando se ejecuta el comando lb dentro del scriptauto, se debe especificar la opcin noauto para asegurar que

    el script auto no es vuelto a ejecutar repetitivamente. Tampocose debe olvidar el asegurar que los scripts auto deben ser eje-cutables (por ejemplo chmod 755 auto/*).auto/config 318#!/bin/sh 319lb config noauto \

    --packages-lists "standard" \"${@}"

    auto/clean 320#!/bin/sh 321lb clean noauto "${@}"rm -f config/binary config/bootstrap \

    config/chroot config/common config/sourcerm -f binary.log

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

    Estos scripts auto vienen de serie con las herramientas live- 324build. Bastara con copiar estos scripts como punto de par-tida.

    $ cp /usr/share/live/build/examples/auto/* auto/ 325Se puede editar el script auto/config, modificndolo o aa- 326diendo cualquier opcin que se acomode a las necesidadesrequeridas. En el ejemplo anterior, se asignar la opcin--packages-lists standard como si fuese asignada pordefecto. Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario aadiendo cualquierotra opcin que se adecue a las necesidades requeridas porla imagen a crear, en lneas como las siguientes.

    7. Descripcin general de la personalizacin. 327

    Este captulo presenta un resumen de las diversas formas en 328

    18

  • Manual Debian Live

    que se puede personalizar un sistema Debian Live.

    7.1 Configuracin en el momento de la creacin vs en el329momento del arranque

    Las opciones de configuracin de un sistema Debian Live se330pueden dividir en opciones que se aplican en el momento dela creacin de la imgen del sistema en vivo y opciones quese tendrn en cuenta cuando el sistema en vivo arranque.Estas ltimas se puenden dividir a su vez en opciones quese tienen en cuenta en una etapa inicial del arranque, uti-lizadas por el paquete live-boot, y otras que se aplicarnposteriormente y que son utilizadas por el paquete live-config.Cualquier opcin en tiempo de arraque puede ser modificadapor el usuario indicndola en los parmetros de arranque delkernel mediante el indicador de arranque (boot prompt). Laimagen puede ser creada por defecto con los parmetros dearranque adecuados, de manera que los usuarios solamentetendrn que arrancar el sistema en vivo, directamente, sinnecesidad de especificar ninguna opcin adicional, ya quelas opciones por defecto sern las adecuadas. En particular,la opcion lb --bootappend-live permite introducir cualquierparmetro del kernel para el sistema en vivo, como pueden serla persistencia, distribucin del teclado, zonas horarias, etc.Ver un ejemplo en Personalizacin de las variantes locales eidioma.

    Las opciones de configuracin en tiempo de creacin se de-331scriben en la pgina del manual del comando lb config. Lasopciones en tiempo de arranque se describen en las pginasde manual de los paquetes live-boot y live-config. Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se est creando, tambin se recomienda que seaninstalados en el sistema husped, que se utiliza para crear laimagen del sistema en vivo, con el fin de facilitar la referencia

    cuando se trabaja en una configuracin. No hay ningn prob-lema en hacerlo, ya que ninguno de los scripts que contieneel sistema husped ser ejecutado, a menos que se configureel sistema husped como sistema en vivo, cosa que no tienesentido.

    7.2 Etapas de la creacin 332

    El proceso de creacin de la imagen est dividido en etapas en 333las que se aplican diferentes personalizaciones en cada unade ellas. La primera etapa que se ejecuta es la etapa boot-strap . Esta fase inicial crea y rellena el directorio chroot conpaquetes que constituyen un sistema Debian bsico. A con-tinuacin la etapa chroot completa la creacin del directoriochroot, rellenndolo con todos los paquetes que han sido lis-tados en la configuracin y material adicional. En esta etapase utiliza la mayora de las personalizaciones de contenido. Laetapa binary es la etapa final en la que se prepara la imagendel sistema en vivo utilizando el contenido del directorio chrootpara construir el sistema de ficheros raiz del futuro sistema envivo, se incluye el instalador y cualquier otro material adicionalde la imagen que no es parte el sistema de fichero raiz, comopuede ser el gestor de arranque (bootloader) o ficheros de doc-umentacin. Posteriormente, en la etapa opcional source secrear el fichero comprimido (tarball) que contiene los ficherosde cdigo fuente de los paquetes utilizados.

    En cada una de estas etapas hay una secuencia particular en 334la se aplican las acciones a realizar. Estas acciones son or-ganizadas en forma de capas de tal manera que aseguran lapersonalizacin de una manera razonable. Por ejemplo, den-tro de la etapa chroot , las preconfiguraciones (preseeds) seaplican antes que cualquier paquete sea instalado, los paque-tes son instalados antes de incluir ningn fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)

    19

  • Manual Debian Live

    sern ejecutados al final de todo, una vez que todos los mate-riales estn ubicados en su lugar.

    7.3 Opciones para lb config en ficheros335

    Aunque la orden lb config crea un esqueleto de configuracin336en el directorio config/, quizs sea necesario escribir ficherosde configuracin adicionales dentro de la jerarqua de subdi-rectorios de config/ con el fin de alcanzar los objetivos prop-uestos. En el proceso de creacin de la imagen estos ficherosadicionales sern copiados o en el sistema de ficheros quese utilizar en el sistema en vivo, o en el sistema de ficherosde la propia imagen binaria o quizs podrn suministrar op-ciones de configuracion al sistema en vivo que sera incomodopasar en la lnea de parmetros del kernel. Esto dependerde en qu parte de la jerarqua de subdirectorios de config/ secopian estos ficheros. Se puede incluir cosas como listas depaquetes personalizadas, imgenes grficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacin de la imagen o en el momento de arranque delsistema en vivo, aumentando la ya por otra parte considerable,flexibilidad de Debian Live con cdigo creado ex profeso.

    7.4 Tareas de personalizacin337

    Los siguientes captulos se organizan por tareas de person-338alizacin que el usuario realiza tpicamente: Los captulosde Personalizacin de la instalacin de paquetes, Person-alizacin de contenidos y Personalizacin de las varianteslocales e idioma cubre solamente unas pocas de las tareasque pueden realizarse.

    8. Personalizacin de la instalacin de paquetes339

    Quizs la tarea ms bsica de personalizacin en Debian Live 340es la seleccin de paquetes que sern incluidos en la imagen.Este captulo orienta a travs de las diferentes opciones de live-build que, en el momento de la creacin de la imagen, person-alizan la instalacin de paquetes. Las opciones que seleccio-nan la distribucion base y las reas del archivo Debian a utilizarson las quems influyen a la hora de conocer qu paquetes es-tarn disponibles para su instalacin en la imagen. Para asegu-rar una buena velocidad de descarga de paquetes, se deberaelegir el repositorio Debian ms cercano. Se pueden aadirrepositorios para paquetes backports, experimentales, paque-tes personalizados o incluir ficheros de paquetes directamente.Se pueden definir listas de paquetes a incluir personalizadas,utilizar listas predefinidas en live-build, seleccionar tareas detasksel o una combinacin de los tres mtodos. Por ltimo ex-isten varias opciones que dan algn control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude, segn sea la elegida. Estas opciones pueden sertiles si se utiliza un proxy, se quiere desactivar la instalacinde paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning, por nombrar algunas posibilidades.

    8.1 Origen de los paquetes 341

    8.1.1 Distribucin, reas de archivo y modo 342

    La distribucin seleccionada tiene gran impacto en qu paque- 343tes estn disponibles para incluir en la imagen. Se debe in-dicar el nombre en clave de la distribucin, que por defectoes squeeze para la versin Squeeze de live-build. Se puedeespecificar cualquier nombre de distribucin disponible en losrepositorios Debian indicando su nombre en clave. (Para ms

    20

  • Manual Debian Live

    detalles ver Trminos). La opcin --distribution no sola-mente influencia la fuente de los paquetes dentro del archivoDebian, sino que instruye a live-build a comportarse tal ycomo se necesita para construir cada una de las distribuciones.Por ejemplo, para construir contra la versin *inestable*, Sid ,se debe indicar:

    $ lb config --distribution sid344

    Las reas del archivo Debian son la principal divisin de pa-345quetes dentro de una distribucin dada. En Debian las reasdel archivo establecidas son main, contrib y non-free. Sola-mente los paquetes contenidos en main son parte de la distribu-cin Debian. sta es el rea definida por defecto en live-build.Se pueden indicar uno o ms valores tal y como se muestra enel siguiente ejemplo:

    $ lb config --archive-areas "main contrib"346

    Experimentalmente hay soporte para alguna distribucin347derivada de Debian mediante la opcin --mode. Por defecto,esta opcin toma el valor de debian incluso si live-build seest ejecutando en un sistema no Debian. Si se especifica--mode ubuntu o --mode emdebian se utilizar el nombrede la distribucin y las reas de archivos especficas de ladistribucin derivada en lugar de los propios de Debian ylive-build modificar su comportamiento para adecuarlo almodo seleccionado.

    Nota: La ayuda a los usuarios de las distribuciones para las348cuales se aadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones. El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble, basndose en la informacin recogida de dichas distribu-ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas.

    8.1.2 Rplicas de Distribucin Debian349

    Los repositorios de Debian estn replicados en una gran red 350alrededor del mundo, de manera que se puede seleccionarla rplica ms cercana con el fin de obtener la mejor veloci-dad de descarga. Cada una de las opciones --mirror-* go-bierna qu rplica de repositorio Debian se utiliza en las difer-entes etapas de creacin. Si se recuerda de Etapas de lacreacin, en la etapa de *preinstalacin (bootstrap)* es cuandose crea el directorio chroot y se rellena con un sistema mn-imo mediante la herramienta debootstrap, y en la etapa *ch-root* es cuando el directorio chroot es completado con los pa-quetes necesarios para crear el sistema de ficheros que serutilizado en el sistema en vivo. A cada una de estas eta-pas le corresponde su propia opcin --mirror-*. Posterior-mente, en la etapa *binary* se utilizarn las rplicas Debianindicadas en los valores de las opciones --mirror-binary y--mirror-binary-security en lugar de utilizar los indicadospara las etapas anteriores.

    8.1.3 Rplicas de Distribution utilizadas durante la 351creacin

    Para indicar qu rplicas deben ser utilizadas en el momento 352de crear la imgen es suficiente con utilizar las opciones--mirror-bootstrap y --mirror-chroot-security como semuestra a continuacin.

    $ lb config --mirror-bootstrap http://localhost/debian/ 353\

    --mirror-chroot-securityhttp://localhost/debian-security/

    El valor indicado en --mirror-chroot es utilizado como valor 354por defecto para la opcin --mirror-bootstrap si esta no esindicada.

    21

  • Manual Debian Live

    8.1.4 Rplicas de distribucin Debian utilizadas en la355ejecucin.

    Las opciones --mirror-binary* gobiernan las rplicas con-356figuradas en la imagen binaria que sern utilizadas para in-stalar paquetes adicionales mientras se ejecuta el sistema envivo. Por defecto se utiliza cdn.debian.net, que es un ser-vicio que selecciona la rplica ms cercana basndose en elnmero de IP. Es una eleccin bastante acertada siempre queno se pueda predecir que rplica ser la mejor para todos losusuarios. Tambin se puede especificar valores personaliza-dos como semuestra en el siguiente ejemplo. Una imgen con-struida con esta configuracin solamente sera accesible a losusuarios de una red donde mirror fuese alcanzable.

    $ lb config --mirror-binary http://mirror/debian/ \357--mirror-binary-security

    http://mirror/debian-security/

    8.1.5 Repositorios adicionales358

    Se pueden aadir ms repositorios, ampliando la lista de359paquetes seleccionables ms alla de aquellos disponiblespara la distribucin indicada, como pueden ser paquetes debackports, paquetes experimentales o personalizados. Paraconfigurar repositorios adicionales se debe crear los ficherosconfig/chroot_sources/your-repository.chroot, y/oconfig/chroot_sources/your-repository.binary. Al igualque en las opciones --mirror-*, estos ficheros gobiernanlos repositorios utilizados en las etapas *chroot* y *binary*respectivamente, esto es, los repositorios que sern utilizadoscuando se ejecute el sistema en vivo.Por ejemplo, config/chroot_sources/live.chroot permite360instalar paquetes de la instantnea del repositorio Debian Liveen el momento de crear la imagen.

    deb http://live.debian.net/ sid-snapshots main contrib 361non-freeSi se aade la misma lnea a config/chroot_sources/live.- 362binary, el repositorio ser aadido al directorio /etc/apt/-sources.list.d/ del sistema en vivo.

    Estos ficheros sern seleccionados automticamente si exis- 363ten.

    Se debera tambin incluir en el fichero config/chroot_- 364sources/your-repository.{binary,chroot}.gpg la claveGPG a utilizar para firmar dicho repositorio.

    Nota: Existen algunos repositorios de paquetes ya pre- 365configurados para facilitar la seleccin mediante la opcin--repository. Por ejemplo, para utilizar las instantneasdel repositorio de Debian Live, sera suficiente con activarlomediante:

    $ lb config --repository live.debian.net 366

    8.2 Seleccin de los paquetes a instalar 367

    Hay varias maneras de seleccionar qu paquetes sern 368instalados por live-build en la imagen que cubren una variedadde necesidades diversas. Se puede nombrar un paqueteindividual para que sea instalado o se pueden nombrar unospocos paquetes mediante la opcin --packages, o incluso sepuede indicar un gran nmero de paquetes mediante una lista.Tambin se puede seleccionar listas de paquetes predefinidoso incluso utilizar tareas de APT. Por ltimo, tambin se puedenutilizar ficheros de paquetes de prueba o experimentalesobtenidos antes de que aparezcan en los repositorios oficialessimplemente depositando estos ficheros directamente en elrbol de directorios config/.

    22

  • Manual Debian Live

    8.2.1 Seleccin de unos pocos paquetes 369

    Cuando el nmero de paquetes a aadir es pequeo pueden370indicarse mediante la opcin --packages. Por ejemplo:

    $ lb config --packages "package1 package2371package3"El comportamiento de live-build cuando se especifica un pa-372quete que no existe es determinado por lo que se haya config-urado en la utilidad APT. Para ms detalles ver Utilizar apt oaptitude .Si se necesita especificar un gran nmero de paquetes o se373necesita cierta flexibilidad a la hora de indicar qu paqueteshay que instalar se puede utilizar las listas de paquetes tal ycomo se indica en la seccin, Listas de paquetes.

    8.2.2 Listas de paquetes374

    Las listas de paquetes proporcionan una potente forma de ex-375presar qu paquetes deberan ser instalados. La sintaxis de lalista soporta la inclusin de ficheros y secciones condicionales,que facilitan la creacin de listas a partir de otras listas,adaptando su utilizacin a diversas configuraciones. Tambinpueden utilizarse listas de paquetes predefinidas, dando unamanera modular a la seleccin de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propsito especial basadas en otras listas de propsitogeneral. Puede utilizarse listas propias o una combinacin delistas propias y listas predefinidas.

    8.2.3 Listas de paquetes predefinidas376

    La forma ms simple de utilizar listas de paquetes es es-377pecificar una o ms listas predefinidas mediante la opcin--packages-lists, por ejemplo:

    $ lb config --packages-lists "gnome-core rescue" 378

    Adems de estas listas, live-build soporta cuatro listas de pa- 379quetes virtuales, gnome-desktop, kde-desktop, lxde-desktopy xfce-desktop, cada una de las cuales provee una seleccinde paquetes extensiva que corresponde con los valores por de-fecto del Instalador de Debian para estos entornos de escrito-rio. Para ms informacin ver Tareas de Escritorio e Idioma.

    Nota: Existen imgenes listas para su descarga con los es- 380critorios GNOME, KDE, LXDE y XFCE en http://live.debian.net. Estas imgenes han sido creadas utilizando la lista vir-tual *-desktop correspondiente.

    La ubicacin por defecto de las listas de los ficheros en el sis- 381tema husped es /usr/share/live/build/lists/. Para de-terminar qu paquetes componen una lista dada se debe leerel correspondiente fichero poniendo atencin en los ficheros in-cluidos y en las secciones condicionales como se describen acontinuacin.

    8.2.4 Listas de paquetes locales 382

    Se pueden aadir o reemplazar completamente las listas pre- 383definidas depositando listas de paquetes locales en el directo-rio config/chroot_local-packageslists/.

    Para que sean procesadas, las listas de paquetes que existan 384en dicho directorio deben tener la extensin .list. Las listasde paquetes locales se superponen a las listas predefinidas porlive-build. Esto puede causar efectos no deseados de maneraque se recomienda utilizar nombres nicos para las listas depaquetes locales, que no coincidan con los nombres de listasde paquetes predefinidas.

    23

  • Manual Debian Live

    8.2.5 Listas de paquetes locales para binary 385

    En caso de que se desee incluir algn paquete .deb en el di-386rectorio pool/ del medio de instalacin sin instalarlo en la im-gen del sistema en vivo se pueden utilizar las listas de paque-tes locales para binary depositando dichas listas en el direc-toro config/binary_local-packageslists/, de manera queel medio de instalacin pueda ser utilizado como un mediode instalacin personalizado para instalaciones sin red local(modo offline).Para que sean procesadas, las listas de paquetes que387se depositen en este directorio deben tener la extensin.list.

    8.2.6 Extensin de una lista de paquetes dada mediante388includes

    Las listas de paquetes predefinidas en live-build hacen un uso389intensivo de las directivas include. Los ficheros existentesen el directorio /usr/share/live/build/lists/ pueden servircomo buen ejemplo de como escribir listas de paquetes.Por ejemplo, para hacer una lista de paquetes que incluya390la lista de paquetes predefinida gnome y aadir el paqueteiceweasel se puede crear un fichero llamado config/-chroot_local-packageslists/mygnome.list con el siguientecontenido:

    #include 391iceweasel

    8.2.7 Utilizacin de condiciones dentro de las listas de392paquetes

    En las sentencias condicionales de las listas de paquetes393

    pueden utilizarse cualquier variable disponible en config/*(excepto las que tienen el prefijo LB_). En general esto significaque puede utilizarse cualquier opcin vlida para lb configcambiando las letras minsculas por maysculas y los guionespor subrayados. En la prctica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccin depaquetes, como pueden ser DISTRIBUTION, ARCHITECTURE oARCHIVE_AREAS.Por ejemplo, para instalar el paquete ia32-libs si se ha es- 394pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar:

    #if ARCHITECTURE amd64 395ia32-libs#endif

    En la expresin condicional pueden utilizarse varios val- 396ores. Por ejemplo para instalar el paquete memtest86+ sila arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar:

    #if ARCHITECTURE i386 amd64 397memtest86+#endif

    En la expresin condicional tambin pueden utilizarse variables 398que pueden contener ms de un valor. Por ejemplo para insta-lar vrms si se utilizan las reas del archivo contrib o non-freemediante la opcin --archive-areas se puede indicar:

    #if ARCHIVE_AREAS contrib non-free 399vrms#endif

    Es habitual que una condicin incluya una directiva in- 400clude:

    #if ARCHITECTURE amd64 401#include #endif

    24

  • Manual Debian Live

    No se permite el anidamiento de estructuras condi-402cionales.

    8.2.8 Tareas403

    El Instalador de Debian ofrece al usuario un conjunto de op-404ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema pararealizar una tarea como puede ser Entorno de escritorio gr-fico, Servidor de correo, Porttil, etc. Estas listas son lla-madas tareas y son soportadas por APT mediante el campoTask:. Se puede especificar a live-build que seleccione es-tas tareas mediante la opcin --task tal y como se muestra enel siguiente ejemplo:

    $ lb config --tasks "mail-server file-server"405Una vez ha sido arrancado el sistema en vivo puede conocerse406qu tareas primarias estn disponibles en el Instalador de De-bian mediante la orden tasksel --list-tasks. La lista de pa-quetes contenidos en cualquier tarea (incluidas aquellas queno aparecen en la lista de tareas primarias) puede obtenersemediante la orden tasksel --task-packages.

    8.2.9 Tareas de Escritorio e Idioma407

    Las tareas de escritorio y de idioma son casos especiales.408Si el medio de instalacin fue preparado para una claseparticular de entorno de escritorio, el Instalador de Debianinstalar automticamente la tarea de entorno de escritoriocorrespondiente. Para ello existen las tareas gnome-desktop,kde-desktop, lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el men de tasksel. De igualforma, las tareas para idiomas tampoco son presentadas en elmen de tasksel, pero la seleccin del idioma, al inicio de la

    instalacin repercute en la seleccin de las correspondientestareas del idioma.

    En live-build estos casos especiales tambin son tratados de 409manera especial, pero en el momento de escribir este manual,hay tres notables diferencias.

    Primero, no se ha previsto, todava, la instalacin automtica 410de tareas de idiomas, aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante lb config--language. Se puede especificar en la configuracin de live-build la utilizacin de estas tareas, que incluyen cosas espec-ficas del idioma, como pueden ser paquetes tipos de letra ymtodos de introduccin. Por ejemplo:

    $ lb config --tasks "japanese japanese-desktop 411japanese-gnome-desktop"Segundo, live-build soporta la lista de paquetes virtuales 412*-desktop para cada clase de escritorio mencionadoanteriormente. Esto seleccionar la lista de paquetespredefinida standard-x11, la correspondiente tarea deescritorio *-desktop y tres tareas adicionales desktop,standard y laptop. As, por ejemplo, si se especifica--packages-lists gnome-desktop, ser equivalentea especificar --packages debian-installer-launcher--packages-lists standard-x11 --tasks gnome-desktopdesktop standard laptop.

    Tercero, si se selecciona cualquier tarea de escritorio, ex- 413plcitamente a travs de --tasks o implcitamente mediante--packages-lists, live-build preconfigurar (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado.

    Nota: Existe tambin la opcin experimental --language cuyo 414propsito se solapa con las tareas de idioma. Se instalarn los

    25

  • Manual Debian Live

    paquetes de soporte *-l10n siempre que existan y que se es-pecifique un idioma mediante la opcin --language. Adems,si existe, se utilizar, en lugar de las plantillas por defectoen ingles, cualquier plantilla para syslinux del idioma indi-cado mediante esta opcin. La seleccin de paquetes real-izada mediante la opcin --language es una pobre aproxi-macin a las tareas de idiomas. Las tareas de idiomas son unmtodo ms completo y flexible que la utilizacin de la opcin--language que requiere que la lista de paquetes a incluir poridioma sea mantenida internamente en live-build. Sin embargoel tratamiento de las plantillas de syslinux es til. Por esto, sise utiliza la opcin --bootloader syslinux y plantillas paraun idioma existente en /usr/share/live/build/templates/-syslinux/ o config/templates/syslinux/, esta opcin es unpunto a tener en cuenta, posiblemente en combinacin con lastareas de idiomas para asegurar la instalacin de los paquetesadecuados. Por ejemplo:

    $ lb config --language es415Esta opcin solamente soporta un idioma y un gestor de ar-416ranque. Por todas estas razones, el futuro de esta opcin estbajo revisin y posiblemente ser reemplazada por algo com-pletamente diferente en la proxima revisin general de live-build.

    8.3 Instalar paquetes de terceros o paquetes417modificados

    Si bien est en contra de la filosofa de Debian Live, en oca-418siones es necesario crear un sistema en vivo con versiones depaquetes modificados a partir de los disponibles en el reposi-torio de Debian. Estos paquetes pueden modificar caracters-ticas existentes o dar soporte a caractersticas adicionales, id-iomas y derivados (branding), o eliminar elementos existentesen los paquetes que no son de interes. De manera similar, se

    pueden incluir paquetes de terceros para aadir funcionali-dades a medida o propietarias.

    En esta seccin no se describe la creacin o mantenimiento 419de paquetes personalizados. Puede ser interesante unalectura del mtodo descrito por Joachim Breitner `How tofork privately' en http://www.joachim-breitner.de/blog/archives/282-How-to-fork-privately.html. La gua del nuevo desarrolladorde Debian en http://www.debian.org/doc/maint-guide/ describe lacreacin de paquetes a medida.

    Existen dos formas de instalar paquetes personalizados: 420

    chroot_local-packages 421 Utilizando un repositorio APT personalizado 422

    El mtodo chroot_local-packages es el ms simple para 423aadir paquetes personalizados. Es muy til para person-alizaciones rpidas (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacin de un repositorioAPT personalizado es ms lento de poner en marcha.

    8.3.1 Mtodo chroot_local-packages para instalar 424paquetes personalizados

    Para instalar paquetes personalizados solamente hay 425que copiar el paquete en el directorio config/chroot_-local-packages/. Los paquetes contenidos en este directoriosern automticamente instalados en el sistema en vivodurante el proceso de creacin. No es necesario especificarde dnde se deben obtener los paquetes.

    Los paquetes deben nombrarse de la forma prescrita. La 426forma ms simple es usar dpkg-name.El mtodo chroot_local-packages para la instalacin de pa- 427quetes personalizados tiene desventajas:

    26

  • Manual Debian Live

    No es posible utilizar APT seguro. 428

    Se deben depositar todos los paquetes necesarios para429cumplir dependencias en el directorio config/chroot_-local-packages/.

    No es adecuado para almacenar configuraciones de Debian430Live en un control de versiones.

    8.3.2 Mtodo de repositorio APT para instalar paquetes431personalizados

    Al contrario del mtodo chroot_local-packages, cuando se432utiliza el mtodo de repositorio APT personalizado se debe ase-gurar que se especifica dnde se deben buscar los paquetes ainstalar. Para ms informacin ver Seleccin de los paquetesa instalar.

    Aunque crear un repositorio APT para instalar paquetes433personalizados puede parecer un esfuerzo innecesaro, la in-fraestructurar puede ser fcilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes.

    8.3.3 Paquetes personalizados y APT434

    live-build utiliza APT para instalar todos los paquetes en el sis-435tema en vivo, as que hereda sus comportamientos. Un puntoa resaltar es que (asumiendo una configuracin de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-entes nmeros de versiones, APT seleccionar para instalar elpaquete con nmero de versin superior.

    Esta sera una buena razn para incrementar el nmero de ver-436sion en los ficheros debian/changelog de los paquetes person-alizados y as asegurar que sern estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales de

    Debian. Esto puede tambin lograrse alterando las preferen-cias de pinning de APT del sistema en vivo. Para ms informa-cin ver APT pinning.

    8.4 Configurar APT en la creacin 437

    Se puede configurar APTmediante varias opciones que se apli- 438carn en el momento de crear la imagen. (La configuracin queAPT utilizar cuando se ejecute el sistema en vivo puede serconfigurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo, esto es, incluyendo lasconfiguraciones apropiadas en el directorio config/chroot_-local_includes/.) Se puede encontrar una lista completade las opciones para configurar APT en la pgina de man-ual de lb_config. Son aquellas opciones que comienzan conapt.

    8.4.1 Utilizar apt o aptitude 439

    Se puede seleccionar qu herramienta se utilizar para insta- 440lar paquetes, apt o aptitude, en el momento de crear la im-agen mediante la opcin --apt de lb config. Esta seleccindefinir el comportamiento preferido en la instalacin de paque-tes, siendo la mayor diferencia la manera