Live Manual.landscape Letter Debian
-
Upload
snakeice62 -
Category
Documents
-
view
503 -
download
0
Transcript of Live Manual.landscape Letter Debian
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 155
Manual Debian Live
Debian Live Project ltdebian-livelistsdebianorggt
November 3 2011
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 255
Copyright copy 2006-2011 Debian Live ProjectLicense Este programa es software libre puede ser redis-tribuido y o modificado bajo los teacuterminos de la GNU GeneralPublic License publicada por la Free Software Foundationbien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquierversioacuten posterior
Este programa se distribuye con la esperanza de que seauacutetil pero SIN NINGUNA GARANTIacuteA incluso sin la garantiacuteaimpliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD PARA UNPROPOacuteSITO PARTICULAR Consulte la GNU General PublicLicense para maacutes detalles
Deberiacutea haber recibido una copia de la General Pub-
lic License GNU junto con este programa Si no vealsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General sepueden encontrar en usrsharecommon-licensesGPL-3
ii
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 355
Contents
Contents
Manual Debian Live 1
Acerca de este manual 1
1 Acerca de este manual 111 Para el impaciente 112 Teacuterminos 113 Autores 214 Coacutemo contribuir en este documento 3
141 Aplicacioacuten de parches 3142 Traducciones 4
2 Acerca del Proyecto Debian Live 421 Motivacioacuten 4
211 Desventajas en los sistemas Live ac-
tuales 4212 El porqueacute de crear un Sistema Live pro-
pio 522 Filosofiacutea 5
221 Solamente paquetes sin modificacioacutenalguna de Debian laquomainraquo 5
222 Sin configuracioacuten especial para el Sis-tema Live 5
23 Contacto 5
Usuario 63 Instalacioacuten 6
31 Requisitos 632 Instalacioacuten de live-build 6
321 Desde el repositorio Debian 6322 A partir del coacutedigo fuente 6323 A partir de laquoinstantaacuteneasraquo 7
33 live-boot y live-config 7331 Desde el repositorio Debian 7332 A partir del coacutedigo fuente 7
333 A partir de laquoinstantaacuteneasraquo 84 Conceptos baacutesicos 8
41 iquestQueacute es un sistema en vivo 842 Primeros pasos creacioacuten de una imagen
ISO hiacutebrida 943 Usar una imagen ISO hiacutebrida 9
431 Grabar una imagen ISO en un mediofiacutesico 9
432 Copiar una imagen ISO hiacutebrida a un dis-positivo USB 10
433 Arrancar los medios en vivo 1044 Usar una maacutequina virtual para pruebas 10
441 Probar una imagen ISO con QEMU 11442 Probar una imagen ISO con virtualbox-
ose 1145 Crear una imagen USBHDD 1146 Utilizar una imaacutegen USBHDD 12
461 Probar una imaacutegen USBHDD con Qemu 12462 Usar el espacio libre en el dispositivo
USB 1247 Creacioacuten de una imagen de arranque en red 12
471 Servidor DHCP 13472 Servidor TFTP 13473 Servidor NFS 14474 Coacutemo probar el arranque en red 14475 Qemu 14476 VMWare Player 14
5 Descripcioacuten general de las herramientas 1551 live-build 15
511 El comando lb config 15512 El comando lb build 17513 El comando lb clean 17
52 El paquete live-boot 1753 El paquete live-config 17
iii
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 455
Contents
6 Gestionar una configuracioacuten 1761 Utilizacioacuten de auto para gestionar los cam-
bios de la configuracioacuten 1762 Un ejemplo de scripts auto 18
7 Descripcioacuten general de la personalizacioacuten 1971 Configuracioacuten en el momento de la creacioacuten
vs en el momento del arranque 1972 Etapas de la creacioacuten 1973 Opciones para lb config en ficheros 2074 Tareas de personalizacioacuten 20
8 Personalizacioacuten de la instalacioacuten de paquetes 2081 Origen de los paquetes 21
811 Distribucioacuten aacutereas de archivo y modo 21812 Reacuteplicas de Distribucioacuten Debian 21
813 Reacuteplicas de Distribution utilizadas du-rante la creacioacuten 21814 Reacuteplicas de distribucioacuten Debianutilizadas en la ejecucioacuten 22
815 Repositorios adicionales 2282 Seleccioacuten de los paquetes a instalar 23
821 Listas de paquetes 23822 Listas de paquetes predefinidas 23823 Listas de paquetes locales 23824 Listas de paquetes locales para binary 24
825 Extensioacuten de una lista de paquetes dadamediante laquoincludesraquo 24826 Utilizacioacuten de condiciones dentro de las
listas de paquetes 24827 Tareas 25828 Tareas de Escritorio e Idioma 25
83 Instalar paquetes de terceros o paquetesmodificados 26
831 Meacutetodo chroot_local-packages para in-stalar paquetes personalizados 26
832 Meacutetodo de repositorio APT para instalarpaquetes personalizados 27
833 Paquetes personalizados y APT 2784 Configurar APT en la creacioacuten 27
841 Utilizar apt o aptitude 27842 Utilizacioacuten de un proxy con APT 27843 Ajuste de APT para ahorrar espacio 28844 Pasar opciones a apt o a aptitude 28845 APT pinning 28
9 Personalizacioacuten de contenidos 2991 Includes 29
911 Includes locales en Livechroot 30912 Includes locales en Binary 30913 Includes en Binary 30
92 Scripts gancho (Hooks) 31921 Scripts gancho locales en Livechroot 31922 Scripts gancho en tiempo de arranque 31923 Scripts gancho locales en Binary 31
93 Preconfiguracioacuten de las preguntas de Deb-conf 31
10 Personalizacioacuten del comportamiento en tiempo deejecucioacuten 32101 Personalizacioacuten del usuario por defecto del
sistema en vivo 32102 Personalizacioacuten de las variantes locales e
idioma 32103 Persistencia (Modo guardar cambios) 33
1031 Persistencia total 341032 Montar Home de forma automaacutetica 341033 Instantaacuteneas 341034 SubText persistente 351035 Remasterizacioacuten parcial 35
11 Personalizacioacuten de la imagen binaria 35111 Gestor de arranque 35
iv
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 555
Contents
112 Metadatos ISO 3512 Personalizacioacuten del Instalador de Debian 35
121 Tipos de imaacutegenes seguacuten el instalador 36122 Personalizando el Instalador de Debianme-
diante preconfiguracioacuten 37123 Personalizar el contenido del Instalador de
Debian 37
Proyecto 37
13 Informes de errores 37131 Problemas conocidos 37132 Reconstruir desde cero 38133 Utilizar paquetes actualizados 38134 Recopilar informacioacuten 38135 Aislar el fallo si es posible 39
136 Utilizar el paquete correcto sobre el que in-formar del error 39
1361 En la preinstalacioacuten (bootstrap) entiempo de creacioacuten 39
1362 Mientras se instalan paquetes entiempo de creacioacuten 39
1363 En tiempo de arranque 391364 En tiempo de ejecucioacuten 40
137 Hacer la investigacioacuten 40138 Doacutende informar de los fallos 40
14 Estilo de coacutedigo 40141 Compatibilidad 40142 Sangrado 41143 Ajuste de liacuteneas 41144 Variables 41145 Miscelaacutenea 42
15 Procedimientos 42151 Subir Udebs 42152 Principales lanzamientos 42153 Nuevas versiones 42
1531 Plantilla para anunciar nuevas ver-siones 42
Ejemplos 44
16 Ejemplos 44
161 Uso de los ejemplos 44162 Tutorial 1 Una imagen estaacutendar 44163 Tutorial 2 Una utilidad de navegador web 45164 Tutorial 3 Una imagen personalizada 45
1641 Primera revisioacuten 451642 Segunda revisioacuten 46
165 Un cliente VNC kiosk 46166 Una imagen baacutesica para un pendrive USB
de 128M 47167 Un escritorio KDE con variante local e in-
stalador 48
Metadata 50
SiSU Metadata document information 50
v
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 655
Manual Debian Live
Manual Debian Live1
Acerca de este manual2
1 Acerca de este manual3
El objetivo principal de este manual es servir como uacutenico punto4
de accesoa toda la documentacioacuten referenteal projecto DebianLive Estaacute principalmente enfocado a ayudar en la creacioacuten deun sistema en vivo y no estaacute dirigido al usuario final de es-tos sistemas Un usuario final puede encontrar informacioacutenuacutetil en las siguentes secciones lsaquoConceptos baacutesicosrsaquo cubre lapreparacioacuten de las imaacutegenes para arrancar un sistema desdeun medio de almacenamiento o desde red local lsaquoPersonal-izacioacuten del comportamiento en tiempo de ejecucioacutenrsaquo describe
alguna de las opciones que pueden especificarse en el indi-cador de arranque como pueden ser la seleccioacuten de la distribu-cioacuten del teclado las variantes locales o la persistencia
Algunos de los comandos mencionados en el texto deben ser5
ejecutados 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 siacutembolos no sonparte
de la orden
11 Para el impaciente6
Aunque se cree que todo lo descrito en este manual es impor-7
tante para la mayoriacutea de los usuarios es cierto que hay muchomaterial a interiorizar y que los usuarios desean experimentarcon las herramientas de forma raacutepida y satisfactoria antes deentrar en detalles Eacutesta es la razoacuten por la que se presentan tres
tutoriales en la seccioacuten lsaquoEjemplosrsaquo pensados para aprender aconfigurar y construir imaacutegenes de sistemas en vivo de formabaacutesica Se deberaacute leer primero lsaquoUso de ejemplosrsaquo seguido delsaquoTutorial 1 Una imagen estaacutendarrsaquo y lsaquoTutorial 2 Una utilidadde navegador webrsaquo para finalizar con lsaquoTutorial 3 Una imagenpersonalizadarsaquo Al final de estos tutoriales el lector tendraacute unavisioacuten de lo que se puede hacer con Debian Live Se anima aprofundizar en el estudio del manual con la lectura detenida delsiguiente capiacutetulo lsaquoConceptos baacutesicosrsaquo y de una manera maacutessomera el capiacutetulo lsaquoLa creacioacuten de una imagen netbootrsaquo paraacabar con la lectura de lsaquoDescripcioacuten general de la personal-izacioacutenrsaquo y los capiacutetulos que le siguen Se espera que en estepunto el lector esteacute lo suficientemente motivado con lo que sepuede hacer con Debian Live para leer el resto del manual deprincipio a fin
12 Teacuterminos 8
bull Sistema en vivo Se entiende por sistema en vivo aquel sis- 9
tema operativo que se puede arrancar sin instalacioacuten previaen el disco duro Un sistema en vivo no altera ninguacuten sis-tema operativo previamente instalado ni ninguacuten fichero ex-istente en el disco duro de la maacutequina a menos que se leinstruya para hacerlo Los sistemas en vivo son arrancadostiacutepicamente desde medios extraiacutebles como CD DVD o llaves
USB Algunos pueden tambieacuten arrancar desde la red localbull Debian Live Es un subproyecto de Debian que mantiene 10
los paquetes Debian live-boot live-build live-config y live-
manual
bull Sistema Debian Live Es un sistema en vivo que utiliza 11
programas del sistema operativo Debian y que puede ser ar-rancado desde medios extraiacutebles como CD DVD o llavesUSB desde red local (mediante imaacutegenes netboot) o desdeInternet (utilizando la opcioacuten de arranque fetch=URL)
1
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 755
Manual Debian Live
bull Sistema hueacutesped Es el conjunto de herramientas y equipo12
utilizado para crear el sistema en vivo
bull Sistema objetivo Es el conjunto de herramientas y equipo13
donde se ejecutaraacute el sistema en vivo
bull live-boot Es una coleccioacuten de scripts que seraacuten respons-14
ables de arrancar el sistema en vivo live-boot fue anterior-mente una parte del paquete live-initramfs
bull live-build Es una coleccioacuten de scripts utilizados para con-15
struir sistemas Debian Live personalizados live-build fueconocido anteriormente como live-helper y en una versioacutenanterior como live-package
bull live-config Es una coleccioacuten de scripts utilizados para con-16
figurar un sistema en vivo durante el proceso de arranque
live-config fue anteriormente parte del paquete live-initramfs
bull live-manual Este documento forma parte de un paquete17
llamado live-manual
bull Instalador de Debian (Debian Installer o d-i) Es el mecan-18
ismo oficial de instalacioacuten para la distribucioacuten Debian
bull Paraacutemetros de arranque Paraacutemetros que son entregados19
al gestor de arranque (bootloader) para modificar el compor-tamiento del kernel o del conjunto de scripts live-config Sonllamados tambieacuten Paraacutemetros de kernel u Opciones de ar-ranque
bull chroot El programa chroot chroot(8) permite ejecutar20
diferentes instancias de un entorno GNULinux en un solosistema de manera simultaacutenea sin necesidad de reiniciar elsistema
bull Imagen binaria Es un fichero binario que contiene el sis-21
tema en vivo Su nombre puede ser binaryiso o binaryimgdependiendo de su formato
bull Distribucioacuten objetivo Es la versioacuten de la distribucioacuten De-22
bian en la cual estaraacute basado el sistema en vivo que puedediferir de la versioacuten de la distribucioacuten en el sistema hueacutesped
bull SqueezeWheezySid (stabletestingunstable) Son los 23
nombres clave de las diferentes versiones de distribucioacutenDebian En el momento de escribir este documentoSqueeze es la actual versioacuten stable o estable Wheezy
es la actual versioacuten testing o en pruebas Sid es y seraacutesiempre sinoacutenimo de versioacuten unstable o inestable A lolargo de todo el manual se usan los nombres en clave delas versiones ya que las herramientas tambieacuten los usan
La distribucioacuten stable contiene la uacuteltima distribucioacuten Debian 24
oficialmente publicada La distribucioacuten testing estaacute en larampa de salida para ser la proacutexima distribucioacuten stable
La principal ventaja de utilizar esta distribucioacuten es que tieneversiones de programas maacutes recientes si se compara con laversioacuten stable La distribucioacuten unstable es doacutende se realizael desarrollo de Debian Generalmente esta distribucioacuten esusada por los desarrolladores y aquellos que les gusta vivir alfilo de lo imposible
13 Autores 25
Lista de autores (en orden alfabeacutetico) 26
bull Ben Armstrong 27
bull Brendan Sleight 28
bull Chris Lamb 29
bull Daniel Baumann 30
bull Franklin Piat 31
bull Jonas Stein 32
bull Kai Hendry 33
2
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 855
Manual Debian Live
bull Marco Amadori34
bull Mathieu Geli35
bull Matthias Kirschner36
bull Richard Nelson37
bull Trent W Buck38
14 Coacutemo contribuir en este documento39
Este manual se ha creado como un proyecto comunitario y40
cualquier propuesta para su mejora u otras contribuciones sonsiempre bienvenidas La mejor forma de hacer una contribu-cioacuten es enviarla a la lista de correo Ver la seccioacuten lsaquoContactorsaquo
para maacutes informacioacutenCuando se enviacutea una contribucioacuten se debe identificar clara-41
mente su copyright e incluir la declaracioacuten de licencia Se hacenotar que para ser aceptada una contribucioacuten debe ser licen-ciada bajo la misma licencia que el resto del documento estoes GPL versioacuten 3 o posterior
Los originales de este manual se mantienen utilizando el sis-42
tema de control de versiones Git Se puede obtener la copiamaacutes actualizada ejecutando la siguiente orden
$ git clone43
gitlivedebiannetgitlive-manualgit
Antes de enviar unacontribucioacuten se deberiacutea realizar unavisual-44
izacioacuten del trabajo realizado Para ello asegurarse de tener in-stalados los paquetes necesarios para la construccioacuten del live-manual ejecutando la siguiente orden
apt-get install make po4a sisu-complete45
libnokogiri-ruby
Se puede realizar la construccioacuten del manual posicionaacutendose46
en el directorio de nivel superior o sea en el directorio clonadomediante Git y ejecutando la siguiente orden
$ make build 47
Ya que la construccioacuten del manual para todos los idiomas so- 48
portados tarda un rato puede ser mejor crear un solo idiomaEsto puede realizarse ejecutando la siguiente orden
$ make build LANGUAGES=en 49
141 Aplicacioacuten de parches 50
Cualquiera puede hacer una entrega en el repositorio Sin em- 51
bargo a la hora de hacer grandes cambios es conveniente en-viarlos a la lista de correopara discutirlos primero Para realizaruna entrega al repositorio se debe seguir el siguiente proced-
imiento
bull Obtener la clave puacuteblica de entrega 52
$ mkdir -p ~sshidentityd 53
$ wget httplivedebiannetotherkeysgitlivedebiannet
-O ~sshidentitydgitlivedebiannet
$ wget httplivedebiannetotherkeysgitlivedebiannetpub
-O ~sshidentitydgitlivedebiannetpub
$ chmod 0600
~sshidentitydgitlivedebiannetbull Antildeadir la siguiente seccioacuten en el fichero de configuracioacuten de 54
openssh-client
$ cat gtgt ~sshconfig ltlt EOF 55
Host livedebiannetHostname livedebiannetUser gitIdentityFile
~sshidentitydgitlivedebiannetEOF
3
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 955
Manual Debian Live
bull Obtener un clon del manual mediante git utilizando ssh56
$ git clone gitlivedebiannetlive-manualgit57
$ cd live-manual ampamp git checkout debian-next
bull Asegurarse de enviar los cambios a la rama debian-next y no58
a la rama Debian
bull Despueacutes de editar los ficheros que se deseen en manual-59
en ejecutar laquomake commitraquo en el directorio superior parasanear los ficheros y actualizar los ficheros de traducciones
$ make commit60
bull Una vez se ha saneado se deberaacuten entregar los cambios61
Se deberaacute escribir un mensaje de entrega que consis-tiraacute en una o varias frases en ingles comenzando conuna letra mayuacutescula y acabando con un punto final Es
habitual comenzar estas frases con la forma `FixingAdding-RemovingCorrectingTranslating por ejemplo
$ git commit -a -m Adding a section on applying62
patches
bull Para finalizar se realizaraacute la entrega al servidor utilizando el63
siguiente comando
$ git push64
142 Traducciones65
Para enviar una traduccioacuten para un nuevo idioma se deben66
seguir los siguientes pasos
bull Traducirlos ficheros about_manualssipot about_projectssipot67
e indexhtmlinpot al idioma deseado con cualquier editor(como puede ser poedit) y enviarlos a la lista de correosUna vez hayan sido revisados el idioma seraacute antildeadido almanual (antildeadiendo los ficheros po) y se activaraacute en elautobuild
bull Una vez que el nuevo idioma haya sido antildeadido se puede68
comenzar la traduccioacuten de todos los ficheros po exisitentesen manualpo de manera aleatoria
bull No se debe olvidar la ejecucioacuten del comando make commit 69
para 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
21 Motivacioacuten 71
211 Desventajas en los sistemas Live actuales 72
Cuando se comenzoacute el trabajo en Debian Live ya existiacutean var- 73
ios Sistemas Live disponibles basados en la distribucioacuten De-bian y todos hacian un buen trabajo Desde la persectiva deDebian la mayoriacutea de estos sistemas teniacutean alguna de estasdesventajas
bull No eran proyectos de Debian y por lo tanto no contaban con 74
soporte desde dentro de Debian
bull Mezclaban paquetes de diferentes versiones por ejemplo 75
testing y unstable
bull Solamente soportaban la arquitectura i386 76
bull Modificaban el comportamiento yo la apariencia de los pa- 77
quetes eliminando contenido para reducirlos de tamantildeo
bull Incluiacutean paquetes de fuera del archivo de Debian 78
bull Utilizaban kernels personalizados con parches que no eran 79
parte de Debian
bull Eran demasiado lentos debido a su gran tamantildeo para ser 80
utilizados como sistemas de rescate
4
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1055
Manual Debian Live
bull No disponiacutean de diferentes medios de instalacioacuten como CDs81
DVDs llaves USB o imaacutegenes de arranque por red netboot
212 El porqueacute de crear un Sistema Live propio82
Debian es el Sistema Operativo Universal Debiantiene un Sis-83
tema Live para mostrar y representar el auteacutentico y verdaderoDebian con las siguientes ventajas fundamentales
bull Deberiacutea ser un subproyecto de Debian84
bull Refleja el estado (actual) de una versioacuten Debian85
bull Se ejecuta en tantas arquitecturas como es posible86
bull Consiste solamente de paquetes Debian sin modificar87
bull No contiene ninguacuten paquete que no forma parte del archivo88
de Debian
bull Utiliza kernels que provienen de Debian inalterados sin89
parches adicionales
22 Filosofiacutea 90
221 Solamente paquetes sin modificacioacuten alguna de91
Debian laquomainraquo
Solamente se utilizaraacuten paquetes del repositorio de Debian de92
la seccioacuten laquomainraquo La seccioacuten non-free no es parte de Debiany por lo tanto no puede ser utilizada de ninguna de las maneraspara generar imaacutegenes de sistema oficiales
No se modificaraacute ninguacuten paquete Siempre que se necesite93
modificar algo se haraacute en coordinacioacuten con el correspondientemantenedor del paquete en Debian
Como una excepcioacuten 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 seraacuten actualizados en Debian de manera regu-lar
222 Sin configuracioacuten especial para el Sistema Live 95
En esta fase no se crearaacute o instalaraacuten configuraciones alter- 96
nativas o de ejemplo Se utilizaraacuten todos los paquetes con suconfiguracioacuten por defecto tal y como quedan despueacutes de unainstalacioacuten normal de Debian
Siempre quese necesite unaconfiguracioacuten diferente a la de por 97
defecto se haraacute en coodinacioacuten conel mantenedor del paquete
Debian correspondiente
En lb config se emplea un sistema para configurar paque- 98
tes que utiliza debconf (mediante el uso de la opcioacuten --preseedFICHERO) permitiendo la personalizacioacuten de la configuracioacutende los paquetes que van a ser instalados en la imagen DebianLive quese genere pero las imaacutegenes Live oficiales solamenteutilizaraacuten la configuracioacuten por defecto
Excepcioacuten Es esencial realizar unos pocos cambios para que 99
un sistema pueda funcionar en vivo (como por ejemplo con-
figurar pam para permitir contrasentildeas vacias) Estos cambiosesenciales se deben mantener tan pequentildeos como sea posibley deberaacuten ser mezclados en el repositorio Debian siempre queexista la posibilidad
23 Contacto 100
bull Lista de correo El sistema de contacto principal del 101
proyecto es la lista de correo en lsaquohttplistsdebianorg
5
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1155
Manual Debian Live
debian-liversaquo Se puede enviar un correo a la lista di-rectamente dirigieacutendolo a lsaquodebian-livelistsdebianorgrsaquoLos archivos histoacutericos de la lista estaacuten disponibles enlsaquohttplistsdebianorgdebian-live rsaquo
bull IRC Un nuacutemero importante de usuarios y desarrol-102
ladores suele estar presente en el canal debian-live deircdebianorg (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
bull BTS El sistema de gestioacuten de errores de Debian (BTS) con-103
tiene detalles de problemas enviados por usuarios y desar-rolladores Los errores estaacuten numerados y se mantiene unregistro hasta que son reparados Si se desea maacutes informa-cioacuten ver lsaquoInformes de erroresrsaquo
bull Wiki El wiki de Debian Live en lsaquohttpwikidebianorg104
DebianLiversaquo es el lugar donde obtener informacioacuten discutirsobre la aplicacioacuten de tecnologiacuteas y de documentar her-ramientas para los sistemas Debian Live que vayan maacutesallaacute del aacutembito de este documento
Usuario105
3 Instalacioacuten106
31 Requisitos107
Para crear las imaacutegenes de Debian Live son necesarios los108
siguientes requisitos
bull Acceso de superusuario (root)109
bull Una versioacuten actualizada de live-build 110
bull Un inteacuterprete de comandos compatible con POSIX como por111
ejemplo bash o dash
bull debootstrap o cdebootstrap 112
bull Linux 26x 113
Tener en cuenta que no es necesario el uso de Debian o 114
una distribucioacuten derivada de Debian - live-build funcionaraacute
en casi cualquier distribucioacuten que cumpla con los requisitosanteriores
32 Instalacioacuten de live-build 115
Se puede instalar live-build de varias maneras difer- 116
entes
bull Desde el repositorio Debian 117
bull A partir del coacutedigo fuente 118
bull Desde laquoinstantaacuteneasraquo 119
Si se usa Debian el meacutetodo recomendado es instalar live-build 120
a traveacutes del repositorio de Debian
321 Desde el repositorio Debian 121
Simplemente instalar live-build como cualquier otro pa- 122
quete
apt-get install live-build 123
o 124
aptitude install live-build 125
322 A partir del coacutedigo fuente 126
live-build se desarrolla utilizando el sistema de control de ver- 127
siones Git En los sistemas basados en Debian se encuentrael paquete git Para ver el uacuteltimo coacutedigo ejecutar
6
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 255
Copyright copy 2006-2011 Debian Live ProjectLicense Este programa es software libre puede ser redis-tribuido y o modificado bajo los teacuterminos de la GNU GeneralPublic License publicada por la Free Software Foundationbien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquierversioacuten posterior
Este programa se distribuye con la esperanza de que seauacutetil pero SIN NINGUNA GARANTIacuteA incluso sin la garantiacuteaimpliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD PARA UNPROPOacuteSITO PARTICULAR Consulte la GNU General PublicLicense para maacutes detalles
Deberiacutea haber recibido una copia de la General Pub-
lic License GNU junto con este programa Si no vealsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General sepueden encontrar en usrsharecommon-licensesGPL-3
ii
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 355
Contents
Contents
Manual Debian Live 1
Acerca de este manual 1
1 Acerca de este manual 111 Para el impaciente 112 Teacuterminos 113 Autores 214 Coacutemo contribuir en este documento 3
141 Aplicacioacuten de parches 3142 Traducciones 4
2 Acerca del Proyecto Debian Live 421 Motivacioacuten 4
211 Desventajas en los sistemas Live ac-
tuales 4212 El porqueacute de crear un Sistema Live pro-
pio 522 Filosofiacutea 5
221 Solamente paquetes sin modificacioacutenalguna de Debian laquomainraquo 5
222 Sin configuracioacuten especial para el Sis-tema Live 5
23 Contacto 5
Usuario 63 Instalacioacuten 6
31 Requisitos 632 Instalacioacuten de live-build 6
321 Desde el repositorio Debian 6322 A partir del coacutedigo fuente 6323 A partir de laquoinstantaacuteneasraquo 7
33 live-boot y live-config 7331 Desde el repositorio Debian 7332 A partir del coacutedigo fuente 7
333 A partir de laquoinstantaacuteneasraquo 84 Conceptos baacutesicos 8
41 iquestQueacute es un sistema en vivo 842 Primeros pasos creacioacuten de una imagen
ISO hiacutebrida 943 Usar una imagen ISO hiacutebrida 9
431 Grabar una imagen ISO en un mediofiacutesico 9
432 Copiar una imagen ISO hiacutebrida a un dis-positivo USB 10
433 Arrancar los medios en vivo 1044 Usar una maacutequina virtual para pruebas 10
441 Probar una imagen ISO con QEMU 11442 Probar una imagen ISO con virtualbox-
ose 1145 Crear una imagen USBHDD 1146 Utilizar una imaacutegen USBHDD 12
461 Probar una imaacutegen USBHDD con Qemu 12462 Usar el espacio libre en el dispositivo
USB 1247 Creacioacuten de una imagen de arranque en red 12
471 Servidor DHCP 13472 Servidor TFTP 13473 Servidor NFS 14474 Coacutemo probar el arranque en red 14475 Qemu 14476 VMWare Player 14
5 Descripcioacuten general de las herramientas 1551 live-build 15
511 El comando lb config 15512 El comando lb build 17513 El comando lb clean 17
52 El paquete live-boot 1753 El paquete live-config 17
iii
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 455
Contents
6 Gestionar una configuracioacuten 1761 Utilizacioacuten de auto para gestionar los cam-
bios de la configuracioacuten 1762 Un ejemplo de scripts auto 18
7 Descripcioacuten general de la personalizacioacuten 1971 Configuracioacuten en el momento de la creacioacuten
vs en el momento del arranque 1972 Etapas de la creacioacuten 1973 Opciones para lb config en ficheros 2074 Tareas de personalizacioacuten 20
8 Personalizacioacuten de la instalacioacuten de paquetes 2081 Origen de los paquetes 21
811 Distribucioacuten aacutereas de archivo y modo 21812 Reacuteplicas de Distribucioacuten Debian 21
813 Reacuteplicas de Distribution utilizadas du-rante la creacioacuten 21814 Reacuteplicas de distribucioacuten Debianutilizadas en la ejecucioacuten 22
815 Repositorios adicionales 2282 Seleccioacuten de los paquetes a instalar 23
821 Listas de paquetes 23822 Listas de paquetes predefinidas 23823 Listas de paquetes locales 23824 Listas de paquetes locales para binary 24
825 Extensioacuten de una lista de paquetes dadamediante laquoincludesraquo 24826 Utilizacioacuten de condiciones dentro de las
listas de paquetes 24827 Tareas 25828 Tareas de Escritorio e Idioma 25
83 Instalar paquetes de terceros o paquetesmodificados 26
831 Meacutetodo chroot_local-packages para in-stalar paquetes personalizados 26
832 Meacutetodo de repositorio APT para instalarpaquetes personalizados 27
833 Paquetes personalizados y APT 2784 Configurar APT en la creacioacuten 27
841 Utilizar apt o aptitude 27842 Utilizacioacuten de un proxy con APT 27843 Ajuste de APT para ahorrar espacio 28844 Pasar opciones a apt o a aptitude 28845 APT pinning 28
9 Personalizacioacuten de contenidos 2991 Includes 29
911 Includes locales en Livechroot 30912 Includes locales en Binary 30913 Includes en Binary 30
92 Scripts gancho (Hooks) 31921 Scripts gancho locales en Livechroot 31922 Scripts gancho en tiempo de arranque 31923 Scripts gancho locales en Binary 31
93 Preconfiguracioacuten de las preguntas de Deb-conf 31
10 Personalizacioacuten del comportamiento en tiempo deejecucioacuten 32101 Personalizacioacuten del usuario por defecto del
sistema en vivo 32102 Personalizacioacuten de las variantes locales e
idioma 32103 Persistencia (Modo guardar cambios) 33
1031 Persistencia total 341032 Montar Home de forma automaacutetica 341033 Instantaacuteneas 341034 SubText persistente 351035 Remasterizacioacuten parcial 35
11 Personalizacioacuten de la imagen binaria 35111 Gestor de arranque 35
iv
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 555
Contents
112 Metadatos ISO 3512 Personalizacioacuten del Instalador de Debian 35
121 Tipos de imaacutegenes seguacuten el instalador 36122 Personalizando el Instalador de Debianme-
diante preconfiguracioacuten 37123 Personalizar el contenido del Instalador de
Debian 37
Proyecto 37
13 Informes de errores 37131 Problemas conocidos 37132 Reconstruir desde cero 38133 Utilizar paquetes actualizados 38134 Recopilar informacioacuten 38135 Aislar el fallo si es posible 39
136 Utilizar el paquete correcto sobre el que in-formar del error 39
1361 En la preinstalacioacuten (bootstrap) entiempo de creacioacuten 39
1362 Mientras se instalan paquetes entiempo de creacioacuten 39
1363 En tiempo de arranque 391364 En tiempo de ejecucioacuten 40
137 Hacer la investigacioacuten 40138 Doacutende informar de los fallos 40
14 Estilo de coacutedigo 40141 Compatibilidad 40142 Sangrado 41143 Ajuste de liacuteneas 41144 Variables 41145 Miscelaacutenea 42
15 Procedimientos 42151 Subir Udebs 42152 Principales lanzamientos 42153 Nuevas versiones 42
1531 Plantilla para anunciar nuevas ver-siones 42
Ejemplos 44
16 Ejemplos 44
161 Uso de los ejemplos 44162 Tutorial 1 Una imagen estaacutendar 44163 Tutorial 2 Una utilidad de navegador web 45164 Tutorial 3 Una imagen personalizada 45
1641 Primera revisioacuten 451642 Segunda revisioacuten 46
165 Un cliente VNC kiosk 46166 Una imagen baacutesica para un pendrive USB
de 128M 47167 Un escritorio KDE con variante local e in-
stalador 48
Metadata 50
SiSU Metadata document information 50
v
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 655
Manual Debian Live
Manual Debian Live1
Acerca de este manual2
1 Acerca de este manual3
El objetivo principal de este manual es servir como uacutenico punto4
de accesoa toda la documentacioacuten referenteal projecto DebianLive Estaacute principalmente enfocado a ayudar en la creacioacuten deun sistema en vivo y no estaacute dirigido al usuario final de es-tos sistemas Un usuario final puede encontrar informacioacutenuacutetil en las siguentes secciones lsaquoConceptos baacutesicosrsaquo cubre lapreparacioacuten de las imaacutegenes para arrancar un sistema desdeun medio de almacenamiento o desde red local lsaquoPersonal-izacioacuten del comportamiento en tiempo de ejecucioacutenrsaquo describe
alguna de las opciones que pueden especificarse en el indi-cador de arranque como pueden ser la seleccioacuten de la distribu-cioacuten del teclado las variantes locales o la persistencia
Algunos de los comandos mencionados en el texto deben ser5
ejecutados 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 siacutembolos no sonparte
de la orden
11 Para el impaciente6
Aunque se cree que todo lo descrito en este manual es impor-7
tante para la mayoriacutea de los usuarios es cierto que hay muchomaterial a interiorizar y que los usuarios desean experimentarcon las herramientas de forma raacutepida y satisfactoria antes deentrar en detalles Eacutesta es la razoacuten por la que se presentan tres
tutoriales en la seccioacuten lsaquoEjemplosrsaquo pensados para aprender aconfigurar y construir imaacutegenes de sistemas en vivo de formabaacutesica Se deberaacute leer primero lsaquoUso de ejemplosrsaquo seguido delsaquoTutorial 1 Una imagen estaacutendarrsaquo y lsaquoTutorial 2 Una utilidadde navegador webrsaquo para finalizar con lsaquoTutorial 3 Una imagenpersonalizadarsaquo Al final de estos tutoriales el lector tendraacute unavisioacuten de lo que se puede hacer con Debian Live Se anima aprofundizar en el estudio del manual con la lectura detenida delsiguiente capiacutetulo lsaquoConceptos baacutesicosrsaquo y de una manera maacutessomera el capiacutetulo lsaquoLa creacioacuten de una imagen netbootrsaquo paraacabar con la lectura de lsaquoDescripcioacuten general de la personal-izacioacutenrsaquo y los capiacutetulos que le siguen Se espera que en estepunto el lector esteacute lo suficientemente motivado con lo que sepuede hacer con Debian Live para leer el resto del manual deprincipio a fin
12 Teacuterminos 8
bull Sistema en vivo Se entiende por sistema en vivo aquel sis- 9
tema operativo que se puede arrancar sin instalacioacuten previaen el disco duro Un sistema en vivo no altera ninguacuten sis-tema operativo previamente instalado ni ninguacuten fichero ex-istente en el disco duro de la maacutequina a menos que se leinstruya para hacerlo Los sistemas en vivo son arrancadostiacutepicamente desde medios extraiacutebles como CD DVD o llaves
USB Algunos pueden tambieacuten arrancar desde la red localbull Debian Live Es un subproyecto de Debian que mantiene 10
los paquetes Debian live-boot live-build live-config y live-
manual
bull Sistema Debian Live Es un sistema en vivo que utiliza 11
programas del sistema operativo Debian y que puede ser ar-rancado desde medios extraiacutebles como CD DVD o llavesUSB desde red local (mediante imaacutegenes netboot) o desdeInternet (utilizando la opcioacuten de arranque fetch=URL)
1
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 755
Manual Debian Live
bull Sistema hueacutesped Es el conjunto de herramientas y equipo12
utilizado para crear el sistema en vivo
bull Sistema objetivo Es el conjunto de herramientas y equipo13
donde se ejecutaraacute el sistema en vivo
bull live-boot Es una coleccioacuten de scripts que seraacuten respons-14
ables de arrancar el sistema en vivo live-boot fue anterior-mente una parte del paquete live-initramfs
bull live-build Es una coleccioacuten de scripts utilizados para con-15
struir sistemas Debian Live personalizados live-build fueconocido anteriormente como live-helper y en una versioacutenanterior como live-package
bull live-config Es una coleccioacuten de scripts utilizados para con-16
figurar un sistema en vivo durante el proceso de arranque
live-config fue anteriormente parte del paquete live-initramfs
bull live-manual Este documento forma parte de un paquete17
llamado live-manual
bull Instalador de Debian (Debian Installer o d-i) Es el mecan-18
ismo oficial de instalacioacuten para la distribucioacuten Debian
bull Paraacutemetros de arranque Paraacutemetros que son entregados19
al gestor de arranque (bootloader) para modificar el compor-tamiento del kernel o del conjunto de scripts live-config Sonllamados tambieacuten Paraacutemetros de kernel u Opciones de ar-ranque
bull chroot El programa chroot chroot(8) permite ejecutar20
diferentes instancias de un entorno GNULinux en un solosistema de manera simultaacutenea sin necesidad de reiniciar elsistema
bull Imagen binaria Es un fichero binario que contiene el sis-21
tema en vivo Su nombre puede ser binaryiso o binaryimgdependiendo de su formato
bull Distribucioacuten objetivo Es la versioacuten de la distribucioacuten De-22
bian en la cual estaraacute basado el sistema en vivo que puedediferir de la versioacuten de la distribucioacuten en el sistema hueacutesped
bull SqueezeWheezySid (stabletestingunstable) Son los 23
nombres clave de las diferentes versiones de distribucioacutenDebian En el momento de escribir este documentoSqueeze es la actual versioacuten stable o estable Wheezy
es la actual versioacuten testing o en pruebas Sid es y seraacutesiempre sinoacutenimo de versioacuten unstable o inestable A lolargo de todo el manual se usan los nombres en clave delas versiones ya que las herramientas tambieacuten los usan
La distribucioacuten stable contiene la uacuteltima distribucioacuten Debian 24
oficialmente publicada La distribucioacuten testing estaacute en larampa de salida para ser la proacutexima distribucioacuten stable
La principal ventaja de utilizar esta distribucioacuten es que tieneversiones de programas maacutes recientes si se compara con laversioacuten stable La distribucioacuten unstable es doacutende se realizael desarrollo de Debian Generalmente esta distribucioacuten esusada por los desarrolladores y aquellos que les gusta vivir alfilo de lo imposible
13 Autores 25
Lista de autores (en orden alfabeacutetico) 26
bull Ben Armstrong 27
bull Brendan Sleight 28
bull Chris Lamb 29
bull Daniel Baumann 30
bull Franklin Piat 31
bull Jonas Stein 32
bull Kai Hendry 33
2
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 855
Manual Debian Live
bull Marco Amadori34
bull Mathieu Geli35
bull Matthias Kirschner36
bull Richard Nelson37
bull Trent W Buck38
14 Coacutemo contribuir en este documento39
Este manual se ha creado como un proyecto comunitario y40
cualquier propuesta para su mejora u otras contribuciones sonsiempre bienvenidas La mejor forma de hacer una contribu-cioacuten es enviarla a la lista de correo Ver la seccioacuten lsaquoContactorsaquo
para maacutes informacioacutenCuando se enviacutea una contribucioacuten se debe identificar clara-41
mente su copyright e incluir la declaracioacuten de licencia Se hacenotar que para ser aceptada una contribucioacuten debe ser licen-ciada bajo la misma licencia que el resto del documento estoes GPL versioacuten 3 o posterior
Los originales de este manual se mantienen utilizando el sis-42
tema de control de versiones Git Se puede obtener la copiamaacutes actualizada ejecutando la siguiente orden
$ git clone43
gitlivedebiannetgitlive-manualgit
Antes de enviar unacontribucioacuten se deberiacutea realizar unavisual-44
izacioacuten del trabajo realizado Para ello asegurarse de tener in-stalados los paquetes necesarios para la construccioacuten del live-manual ejecutando la siguiente orden
apt-get install make po4a sisu-complete45
libnokogiri-ruby
Se puede realizar la construccioacuten del manual posicionaacutendose46
en el directorio de nivel superior o sea en el directorio clonadomediante Git y ejecutando la siguiente orden
$ make build 47
Ya que la construccioacuten del manual para todos los idiomas so- 48
portados tarda un rato puede ser mejor crear un solo idiomaEsto puede realizarse ejecutando la siguiente orden
$ make build LANGUAGES=en 49
141 Aplicacioacuten de parches 50
Cualquiera puede hacer una entrega en el repositorio Sin em- 51
bargo a la hora de hacer grandes cambios es conveniente en-viarlos a la lista de correopara discutirlos primero Para realizaruna entrega al repositorio se debe seguir el siguiente proced-
imiento
bull Obtener la clave puacuteblica de entrega 52
$ mkdir -p ~sshidentityd 53
$ wget httplivedebiannetotherkeysgitlivedebiannet
-O ~sshidentitydgitlivedebiannet
$ wget httplivedebiannetotherkeysgitlivedebiannetpub
-O ~sshidentitydgitlivedebiannetpub
$ chmod 0600
~sshidentitydgitlivedebiannetbull Antildeadir la siguiente seccioacuten en el fichero de configuracioacuten de 54
openssh-client
$ cat gtgt ~sshconfig ltlt EOF 55
Host livedebiannetHostname livedebiannetUser gitIdentityFile
~sshidentitydgitlivedebiannetEOF
3
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 955
Manual Debian Live
bull Obtener un clon del manual mediante git utilizando ssh56
$ git clone gitlivedebiannetlive-manualgit57
$ cd live-manual ampamp git checkout debian-next
bull Asegurarse de enviar los cambios a la rama debian-next y no58
a la rama Debian
bull Despueacutes de editar los ficheros que se deseen en manual-59
en ejecutar laquomake commitraquo en el directorio superior parasanear los ficheros y actualizar los ficheros de traducciones
$ make commit60
bull Una vez se ha saneado se deberaacuten entregar los cambios61
Se deberaacute escribir un mensaje de entrega que consis-tiraacute en una o varias frases en ingles comenzando conuna letra mayuacutescula y acabando con un punto final Es
habitual comenzar estas frases con la forma `FixingAdding-RemovingCorrectingTranslating por ejemplo
$ git commit -a -m Adding a section on applying62
patches
bull Para finalizar se realizaraacute la entrega al servidor utilizando el63
siguiente comando
$ git push64
142 Traducciones65
Para enviar una traduccioacuten para un nuevo idioma se deben66
seguir los siguientes pasos
bull Traducirlos ficheros about_manualssipot about_projectssipot67
e indexhtmlinpot al idioma deseado con cualquier editor(como puede ser poedit) y enviarlos a la lista de correosUna vez hayan sido revisados el idioma seraacute antildeadido almanual (antildeadiendo los ficheros po) y se activaraacute en elautobuild
bull Una vez que el nuevo idioma haya sido antildeadido se puede68
comenzar la traduccioacuten de todos los ficheros po exisitentesen manualpo de manera aleatoria
bull No se debe olvidar la ejecucioacuten del comando make commit 69
para 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
21 Motivacioacuten 71
211 Desventajas en los sistemas Live actuales 72
Cuando se comenzoacute el trabajo en Debian Live ya existiacutean var- 73
ios Sistemas Live disponibles basados en la distribucioacuten De-bian y todos hacian un buen trabajo Desde la persectiva deDebian la mayoriacutea de estos sistemas teniacutean alguna de estasdesventajas
bull No eran proyectos de Debian y por lo tanto no contaban con 74
soporte desde dentro de Debian
bull Mezclaban paquetes de diferentes versiones por ejemplo 75
testing y unstable
bull Solamente soportaban la arquitectura i386 76
bull Modificaban el comportamiento yo la apariencia de los pa- 77
quetes eliminando contenido para reducirlos de tamantildeo
bull Incluiacutean paquetes de fuera del archivo de Debian 78
bull Utilizaban kernels personalizados con parches que no eran 79
parte de Debian
bull Eran demasiado lentos debido a su gran tamantildeo para ser 80
utilizados como sistemas de rescate
4
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1055
Manual Debian Live
bull No disponiacutean de diferentes medios de instalacioacuten como CDs81
DVDs llaves USB o imaacutegenes de arranque por red netboot
212 El porqueacute de crear un Sistema Live propio82
Debian es el Sistema Operativo Universal Debiantiene un Sis-83
tema Live para mostrar y representar el auteacutentico y verdaderoDebian con las siguientes ventajas fundamentales
bull Deberiacutea ser un subproyecto de Debian84
bull Refleja el estado (actual) de una versioacuten Debian85
bull Se ejecuta en tantas arquitecturas como es posible86
bull Consiste solamente de paquetes Debian sin modificar87
bull No contiene ninguacuten paquete que no forma parte del archivo88
de Debian
bull Utiliza kernels que provienen de Debian inalterados sin89
parches adicionales
22 Filosofiacutea 90
221 Solamente paquetes sin modificacioacuten alguna de91
Debian laquomainraquo
Solamente se utilizaraacuten paquetes del repositorio de Debian de92
la seccioacuten laquomainraquo La seccioacuten non-free no es parte de Debiany por lo tanto no puede ser utilizada de ninguna de las maneraspara generar imaacutegenes de sistema oficiales
No se modificaraacute ninguacuten paquete Siempre que se necesite93
modificar algo se haraacute en coordinacioacuten con el correspondientemantenedor del paquete en Debian
Como una excepcioacuten 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 seraacuten actualizados en Debian de manera regu-lar
222 Sin configuracioacuten especial para el Sistema Live 95
En esta fase no se crearaacute o instalaraacuten configuraciones alter- 96
nativas o de ejemplo Se utilizaraacuten todos los paquetes con suconfiguracioacuten por defecto tal y como quedan despueacutes de unainstalacioacuten normal de Debian
Siempre quese necesite unaconfiguracioacuten diferente a la de por 97
defecto se haraacute en coodinacioacuten conel mantenedor del paquete
Debian correspondiente
En lb config se emplea un sistema para configurar paque- 98
tes que utiliza debconf (mediante el uso de la opcioacuten --preseedFICHERO) permitiendo la personalizacioacuten de la configuracioacutende los paquetes que van a ser instalados en la imagen DebianLive quese genere pero las imaacutegenes Live oficiales solamenteutilizaraacuten la configuracioacuten por defecto
Excepcioacuten Es esencial realizar unos pocos cambios para que 99
un sistema pueda funcionar en vivo (como por ejemplo con-
figurar pam para permitir contrasentildeas vacias) Estos cambiosesenciales se deben mantener tan pequentildeos como sea posibley deberaacuten ser mezclados en el repositorio Debian siempre queexista la posibilidad
23 Contacto 100
bull Lista de correo El sistema de contacto principal del 101
proyecto es la lista de correo en lsaquohttplistsdebianorg
5
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1155
Manual Debian Live
debian-liversaquo Se puede enviar un correo a la lista di-rectamente dirigieacutendolo a lsaquodebian-livelistsdebianorgrsaquoLos archivos histoacutericos de la lista estaacuten disponibles enlsaquohttplistsdebianorgdebian-live rsaquo
bull IRC Un nuacutemero importante de usuarios y desarrol-102
ladores suele estar presente en el canal debian-live deircdebianorg (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
bull BTS El sistema de gestioacuten de errores de Debian (BTS) con-103
tiene detalles de problemas enviados por usuarios y desar-rolladores Los errores estaacuten numerados y se mantiene unregistro hasta que son reparados Si se desea maacutes informa-cioacuten ver lsaquoInformes de erroresrsaquo
bull Wiki El wiki de Debian Live en lsaquohttpwikidebianorg104
DebianLiversaquo es el lugar donde obtener informacioacuten discutirsobre la aplicacioacuten de tecnologiacuteas y de documentar her-ramientas para los sistemas Debian Live que vayan maacutesallaacute del aacutembito de este documento
Usuario105
3 Instalacioacuten106
31 Requisitos107
Para crear las imaacutegenes de Debian Live son necesarios los108
siguientes requisitos
bull Acceso de superusuario (root)109
bull Una versioacuten actualizada de live-build 110
bull Un inteacuterprete de comandos compatible con POSIX como por111
ejemplo bash o dash
bull debootstrap o cdebootstrap 112
bull Linux 26x 113
Tener en cuenta que no es necesario el uso de Debian o 114
una distribucioacuten derivada de Debian - live-build funcionaraacute
en casi cualquier distribucioacuten que cumpla con los requisitosanteriores
32 Instalacioacuten de live-build 115
Se puede instalar live-build de varias maneras difer- 116
entes
bull Desde el repositorio Debian 117
bull A partir del coacutedigo fuente 118
bull Desde laquoinstantaacuteneasraquo 119
Si se usa Debian el meacutetodo recomendado es instalar live-build 120
a traveacutes del repositorio de Debian
321 Desde el repositorio Debian 121
Simplemente instalar live-build como cualquier otro pa- 122
quete
apt-get install live-build 123
o 124
aptitude install live-build 125
322 A partir del coacutedigo fuente 126
live-build se desarrolla utilizando el sistema de control de ver- 127
siones Git En los sistemas basados en Debian se encuentrael paquete git Para ver el uacuteltimo coacutedigo ejecutar
6
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 355
Contents
Contents
Manual Debian Live 1
Acerca de este manual 1
1 Acerca de este manual 111 Para el impaciente 112 Teacuterminos 113 Autores 214 Coacutemo contribuir en este documento 3
141 Aplicacioacuten de parches 3142 Traducciones 4
2 Acerca del Proyecto Debian Live 421 Motivacioacuten 4
211 Desventajas en los sistemas Live ac-
tuales 4212 El porqueacute de crear un Sistema Live pro-
pio 522 Filosofiacutea 5
221 Solamente paquetes sin modificacioacutenalguna de Debian laquomainraquo 5
222 Sin configuracioacuten especial para el Sis-tema Live 5
23 Contacto 5
Usuario 63 Instalacioacuten 6
31 Requisitos 632 Instalacioacuten de live-build 6
321 Desde el repositorio Debian 6322 A partir del coacutedigo fuente 6323 A partir de laquoinstantaacuteneasraquo 7
33 live-boot y live-config 7331 Desde el repositorio Debian 7332 A partir del coacutedigo fuente 7
333 A partir de laquoinstantaacuteneasraquo 84 Conceptos baacutesicos 8
41 iquestQueacute es un sistema en vivo 842 Primeros pasos creacioacuten de una imagen
ISO hiacutebrida 943 Usar una imagen ISO hiacutebrida 9
431 Grabar una imagen ISO en un mediofiacutesico 9
432 Copiar una imagen ISO hiacutebrida a un dis-positivo USB 10
433 Arrancar los medios en vivo 1044 Usar una maacutequina virtual para pruebas 10
441 Probar una imagen ISO con QEMU 11442 Probar una imagen ISO con virtualbox-
ose 1145 Crear una imagen USBHDD 1146 Utilizar una imaacutegen USBHDD 12
461 Probar una imaacutegen USBHDD con Qemu 12462 Usar el espacio libre en el dispositivo
USB 1247 Creacioacuten de una imagen de arranque en red 12
471 Servidor DHCP 13472 Servidor TFTP 13473 Servidor NFS 14474 Coacutemo probar el arranque en red 14475 Qemu 14476 VMWare Player 14
5 Descripcioacuten general de las herramientas 1551 live-build 15
511 El comando lb config 15512 El comando lb build 17513 El comando lb clean 17
52 El paquete live-boot 1753 El paquete live-config 17
iii
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 455
Contents
6 Gestionar una configuracioacuten 1761 Utilizacioacuten de auto para gestionar los cam-
bios de la configuracioacuten 1762 Un ejemplo de scripts auto 18
7 Descripcioacuten general de la personalizacioacuten 1971 Configuracioacuten en el momento de la creacioacuten
vs en el momento del arranque 1972 Etapas de la creacioacuten 1973 Opciones para lb config en ficheros 2074 Tareas de personalizacioacuten 20
8 Personalizacioacuten de la instalacioacuten de paquetes 2081 Origen de los paquetes 21
811 Distribucioacuten aacutereas de archivo y modo 21812 Reacuteplicas de Distribucioacuten Debian 21
813 Reacuteplicas de Distribution utilizadas du-rante la creacioacuten 21814 Reacuteplicas de distribucioacuten Debianutilizadas en la ejecucioacuten 22
815 Repositorios adicionales 2282 Seleccioacuten de los paquetes a instalar 23
821 Listas de paquetes 23822 Listas de paquetes predefinidas 23823 Listas de paquetes locales 23824 Listas de paquetes locales para binary 24
825 Extensioacuten de una lista de paquetes dadamediante laquoincludesraquo 24826 Utilizacioacuten de condiciones dentro de las
listas de paquetes 24827 Tareas 25828 Tareas de Escritorio e Idioma 25
83 Instalar paquetes de terceros o paquetesmodificados 26
831 Meacutetodo chroot_local-packages para in-stalar paquetes personalizados 26
832 Meacutetodo de repositorio APT para instalarpaquetes personalizados 27
833 Paquetes personalizados y APT 2784 Configurar APT en la creacioacuten 27
841 Utilizar apt o aptitude 27842 Utilizacioacuten de un proxy con APT 27843 Ajuste de APT para ahorrar espacio 28844 Pasar opciones a apt o a aptitude 28845 APT pinning 28
9 Personalizacioacuten de contenidos 2991 Includes 29
911 Includes locales en Livechroot 30912 Includes locales en Binary 30913 Includes en Binary 30
92 Scripts gancho (Hooks) 31921 Scripts gancho locales en Livechroot 31922 Scripts gancho en tiempo de arranque 31923 Scripts gancho locales en Binary 31
93 Preconfiguracioacuten de las preguntas de Deb-conf 31
10 Personalizacioacuten del comportamiento en tiempo deejecucioacuten 32101 Personalizacioacuten del usuario por defecto del
sistema en vivo 32102 Personalizacioacuten de las variantes locales e
idioma 32103 Persistencia (Modo guardar cambios) 33
1031 Persistencia total 341032 Montar Home de forma automaacutetica 341033 Instantaacuteneas 341034 SubText persistente 351035 Remasterizacioacuten parcial 35
11 Personalizacioacuten de la imagen binaria 35111 Gestor de arranque 35
iv
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 555
Contents
112 Metadatos ISO 3512 Personalizacioacuten del Instalador de Debian 35
121 Tipos de imaacutegenes seguacuten el instalador 36122 Personalizando el Instalador de Debianme-
diante preconfiguracioacuten 37123 Personalizar el contenido del Instalador de
Debian 37
Proyecto 37
13 Informes de errores 37131 Problemas conocidos 37132 Reconstruir desde cero 38133 Utilizar paquetes actualizados 38134 Recopilar informacioacuten 38135 Aislar el fallo si es posible 39
136 Utilizar el paquete correcto sobre el que in-formar del error 39
1361 En la preinstalacioacuten (bootstrap) entiempo de creacioacuten 39
1362 Mientras se instalan paquetes entiempo de creacioacuten 39
1363 En tiempo de arranque 391364 En tiempo de ejecucioacuten 40
137 Hacer la investigacioacuten 40138 Doacutende informar de los fallos 40
14 Estilo de coacutedigo 40141 Compatibilidad 40142 Sangrado 41143 Ajuste de liacuteneas 41144 Variables 41145 Miscelaacutenea 42
15 Procedimientos 42151 Subir Udebs 42152 Principales lanzamientos 42153 Nuevas versiones 42
1531 Plantilla para anunciar nuevas ver-siones 42
Ejemplos 44
16 Ejemplos 44
161 Uso de los ejemplos 44162 Tutorial 1 Una imagen estaacutendar 44163 Tutorial 2 Una utilidad de navegador web 45164 Tutorial 3 Una imagen personalizada 45
1641 Primera revisioacuten 451642 Segunda revisioacuten 46
165 Un cliente VNC kiosk 46166 Una imagen baacutesica para un pendrive USB
de 128M 47167 Un escritorio KDE con variante local e in-
stalador 48
Metadata 50
SiSU Metadata document information 50
v
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 655
Manual Debian Live
Manual Debian Live1
Acerca de este manual2
1 Acerca de este manual3
El objetivo principal de este manual es servir como uacutenico punto4
de accesoa toda la documentacioacuten referenteal projecto DebianLive Estaacute principalmente enfocado a ayudar en la creacioacuten deun sistema en vivo y no estaacute dirigido al usuario final de es-tos sistemas Un usuario final puede encontrar informacioacutenuacutetil en las siguentes secciones lsaquoConceptos baacutesicosrsaquo cubre lapreparacioacuten de las imaacutegenes para arrancar un sistema desdeun medio de almacenamiento o desde red local lsaquoPersonal-izacioacuten del comportamiento en tiempo de ejecucioacutenrsaquo describe
alguna de las opciones que pueden especificarse en el indi-cador de arranque como pueden ser la seleccioacuten de la distribu-cioacuten del teclado las variantes locales o la persistencia
Algunos de los comandos mencionados en el texto deben ser5
ejecutados 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 siacutembolos no sonparte
de la orden
11 Para el impaciente6
Aunque se cree que todo lo descrito en este manual es impor-7
tante para la mayoriacutea de los usuarios es cierto que hay muchomaterial a interiorizar y que los usuarios desean experimentarcon las herramientas de forma raacutepida y satisfactoria antes deentrar en detalles Eacutesta es la razoacuten por la que se presentan tres
tutoriales en la seccioacuten lsaquoEjemplosrsaquo pensados para aprender aconfigurar y construir imaacutegenes de sistemas en vivo de formabaacutesica Se deberaacute leer primero lsaquoUso de ejemplosrsaquo seguido delsaquoTutorial 1 Una imagen estaacutendarrsaquo y lsaquoTutorial 2 Una utilidadde navegador webrsaquo para finalizar con lsaquoTutorial 3 Una imagenpersonalizadarsaquo Al final de estos tutoriales el lector tendraacute unavisioacuten de lo que se puede hacer con Debian Live Se anima aprofundizar en el estudio del manual con la lectura detenida delsiguiente capiacutetulo lsaquoConceptos baacutesicosrsaquo y de una manera maacutessomera el capiacutetulo lsaquoLa creacioacuten de una imagen netbootrsaquo paraacabar con la lectura de lsaquoDescripcioacuten general de la personal-izacioacutenrsaquo y los capiacutetulos que le siguen Se espera que en estepunto el lector esteacute lo suficientemente motivado con lo que sepuede hacer con Debian Live para leer el resto del manual deprincipio a fin
12 Teacuterminos 8
bull Sistema en vivo Se entiende por sistema en vivo aquel sis- 9
tema operativo que se puede arrancar sin instalacioacuten previaen el disco duro Un sistema en vivo no altera ninguacuten sis-tema operativo previamente instalado ni ninguacuten fichero ex-istente en el disco duro de la maacutequina a menos que se leinstruya para hacerlo Los sistemas en vivo son arrancadostiacutepicamente desde medios extraiacutebles como CD DVD o llaves
USB Algunos pueden tambieacuten arrancar desde la red localbull Debian Live Es un subproyecto de Debian que mantiene 10
los paquetes Debian live-boot live-build live-config y live-
manual
bull Sistema Debian Live Es un sistema en vivo que utiliza 11
programas del sistema operativo Debian y que puede ser ar-rancado desde medios extraiacutebles como CD DVD o llavesUSB desde red local (mediante imaacutegenes netboot) o desdeInternet (utilizando la opcioacuten de arranque fetch=URL)
1
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 755
Manual Debian Live
bull Sistema hueacutesped Es el conjunto de herramientas y equipo12
utilizado para crear el sistema en vivo
bull Sistema objetivo Es el conjunto de herramientas y equipo13
donde se ejecutaraacute el sistema en vivo
bull live-boot Es una coleccioacuten de scripts que seraacuten respons-14
ables de arrancar el sistema en vivo live-boot fue anterior-mente una parte del paquete live-initramfs
bull live-build Es una coleccioacuten de scripts utilizados para con-15
struir sistemas Debian Live personalizados live-build fueconocido anteriormente como live-helper y en una versioacutenanterior como live-package
bull live-config Es una coleccioacuten de scripts utilizados para con-16
figurar un sistema en vivo durante el proceso de arranque
live-config fue anteriormente parte del paquete live-initramfs
bull live-manual Este documento forma parte de un paquete17
llamado live-manual
bull Instalador de Debian (Debian Installer o d-i) Es el mecan-18
ismo oficial de instalacioacuten para la distribucioacuten Debian
bull Paraacutemetros de arranque Paraacutemetros que son entregados19
al gestor de arranque (bootloader) para modificar el compor-tamiento del kernel o del conjunto de scripts live-config Sonllamados tambieacuten Paraacutemetros de kernel u Opciones de ar-ranque
bull chroot El programa chroot chroot(8) permite ejecutar20
diferentes instancias de un entorno GNULinux en un solosistema de manera simultaacutenea sin necesidad de reiniciar elsistema
bull Imagen binaria Es un fichero binario que contiene el sis-21
tema en vivo Su nombre puede ser binaryiso o binaryimgdependiendo de su formato
bull Distribucioacuten objetivo Es la versioacuten de la distribucioacuten De-22
bian en la cual estaraacute basado el sistema en vivo que puedediferir de la versioacuten de la distribucioacuten en el sistema hueacutesped
bull SqueezeWheezySid (stabletestingunstable) Son los 23
nombres clave de las diferentes versiones de distribucioacutenDebian En el momento de escribir este documentoSqueeze es la actual versioacuten stable o estable Wheezy
es la actual versioacuten testing o en pruebas Sid es y seraacutesiempre sinoacutenimo de versioacuten unstable o inestable A lolargo de todo el manual se usan los nombres en clave delas versiones ya que las herramientas tambieacuten los usan
La distribucioacuten stable contiene la uacuteltima distribucioacuten Debian 24
oficialmente publicada La distribucioacuten testing estaacute en larampa de salida para ser la proacutexima distribucioacuten stable
La principal ventaja de utilizar esta distribucioacuten es que tieneversiones de programas maacutes recientes si se compara con laversioacuten stable La distribucioacuten unstable es doacutende se realizael desarrollo de Debian Generalmente esta distribucioacuten esusada por los desarrolladores y aquellos que les gusta vivir alfilo de lo imposible
13 Autores 25
Lista de autores (en orden alfabeacutetico) 26
bull Ben Armstrong 27
bull Brendan Sleight 28
bull Chris Lamb 29
bull Daniel Baumann 30
bull Franklin Piat 31
bull Jonas Stein 32
bull Kai Hendry 33
2
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 855
Manual Debian Live
bull Marco Amadori34
bull Mathieu Geli35
bull Matthias Kirschner36
bull Richard Nelson37
bull Trent W Buck38
14 Coacutemo contribuir en este documento39
Este manual se ha creado como un proyecto comunitario y40
cualquier propuesta para su mejora u otras contribuciones sonsiempre bienvenidas La mejor forma de hacer una contribu-cioacuten es enviarla a la lista de correo Ver la seccioacuten lsaquoContactorsaquo
para maacutes informacioacutenCuando se enviacutea una contribucioacuten se debe identificar clara-41
mente su copyright e incluir la declaracioacuten de licencia Se hacenotar que para ser aceptada una contribucioacuten debe ser licen-ciada bajo la misma licencia que el resto del documento estoes GPL versioacuten 3 o posterior
Los originales de este manual se mantienen utilizando el sis-42
tema de control de versiones Git Se puede obtener la copiamaacutes actualizada ejecutando la siguiente orden
$ git clone43
gitlivedebiannetgitlive-manualgit
Antes de enviar unacontribucioacuten se deberiacutea realizar unavisual-44
izacioacuten del trabajo realizado Para ello asegurarse de tener in-stalados los paquetes necesarios para la construccioacuten del live-manual ejecutando la siguiente orden
apt-get install make po4a sisu-complete45
libnokogiri-ruby
Se puede realizar la construccioacuten del manual posicionaacutendose46
en el directorio de nivel superior o sea en el directorio clonadomediante Git y ejecutando la siguiente orden
$ make build 47
Ya que la construccioacuten del manual para todos los idiomas so- 48
portados tarda un rato puede ser mejor crear un solo idiomaEsto puede realizarse ejecutando la siguiente orden
$ make build LANGUAGES=en 49
141 Aplicacioacuten de parches 50
Cualquiera puede hacer una entrega en el repositorio Sin em- 51
bargo a la hora de hacer grandes cambios es conveniente en-viarlos a la lista de correopara discutirlos primero Para realizaruna entrega al repositorio se debe seguir el siguiente proced-
imiento
bull Obtener la clave puacuteblica de entrega 52
$ mkdir -p ~sshidentityd 53
$ wget httplivedebiannetotherkeysgitlivedebiannet
-O ~sshidentitydgitlivedebiannet
$ wget httplivedebiannetotherkeysgitlivedebiannetpub
-O ~sshidentitydgitlivedebiannetpub
$ chmod 0600
~sshidentitydgitlivedebiannetbull Antildeadir la siguiente seccioacuten en el fichero de configuracioacuten de 54
openssh-client
$ cat gtgt ~sshconfig ltlt EOF 55
Host livedebiannetHostname livedebiannetUser gitIdentityFile
~sshidentitydgitlivedebiannetEOF
3
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 955
Manual Debian Live
bull Obtener un clon del manual mediante git utilizando ssh56
$ git clone gitlivedebiannetlive-manualgit57
$ cd live-manual ampamp git checkout debian-next
bull Asegurarse de enviar los cambios a la rama debian-next y no58
a la rama Debian
bull Despueacutes de editar los ficheros que se deseen en manual-59
en ejecutar laquomake commitraquo en el directorio superior parasanear los ficheros y actualizar los ficheros de traducciones
$ make commit60
bull Una vez se ha saneado se deberaacuten entregar los cambios61
Se deberaacute escribir un mensaje de entrega que consis-tiraacute en una o varias frases en ingles comenzando conuna letra mayuacutescula y acabando con un punto final Es
habitual comenzar estas frases con la forma `FixingAdding-RemovingCorrectingTranslating por ejemplo
$ git commit -a -m Adding a section on applying62
patches
bull Para finalizar se realizaraacute la entrega al servidor utilizando el63
siguiente comando
$ git push64
142 Traducciones65
Para enviar una traduccioacuten para un nuevo idioma se deben66
seguir los siguientes pasos
bull Traducirlos ficheros about_manualssipot about_projectssipot67
e indexhtmlinpot al idioma deseado con cualquier editor(como puede ser poedit) y enviarlos a la lista de correosUna vez hayan sido revisados el idioma seraacute antildeadido almanual (antildeadiendo los ficheros po) y se activaraacute en elautobuild
bull Una vez que el nuevo idioma haya sido antildeadido se puede68
comenzar la traduccioacuten de todos los ficheros po exisitentesen manualpo de manera aleatoria
bull No se debe olvidar la ejecucioacuten del comando make commit 69
para 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
21 Motivacioacuten 71
211 Desventajas en los sistemas Live actuales 72
Cuando se comenzoacute el trabajo en Debian Live ya existiacutean var- 73
ios Sistemas Live disponibles basados en la distribucioacuten De-bian y todos hacian un buen trabajo Desde la persectiva deDebian la mayoriacutea de estos sistemas teniacutean alguna de estasdesventajas
bull No eran proyectos de Debian y por lo tanto no contaban con 74
soporte desde dentro de Debian
bull Mezclaban paquetes de diferentes versiones por ejemplo 75
testing y unstable
bull Solamente soportaban la arquitectura i386 76
bull Modificaban el comportamiento yo la apariencia de los pa- 77
quetes eliminando contenido para reducirlos de tamantildeo
bull Incluiacutean paquetes de fuera del archivo de Debian 78
bull Utilizaban kernels personalizados con parches que no eran 79
parte de Debian
bull Eran demasiado lentos debido a su gran tamantildeo para ser 80
utilizados como sistemas de rescate
4
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1055
Manual Debian Live
bull No disponiacutean de diferentes medios de instalacioacuten como CDs81
DVDs llaves USB o imaacutegenes de arranque por red netboot
212 El porqueacute de crear un Sistema Live propio82
Debian es el Sistema Operativo Universal Debiantiene un Sis-83
tema Live para mostrar y representar el auteacutentico y verdaderoDebian con las siguientes ventajas fundamentales
bull Deberiacutea ser un subproyecto de Debian84
bull Refleja el estado (actual) de una versioacuten Debian85
bull Se ejecuta en tantas arquitecturas como es posible86
bull Consiste solamente de paquetes Debian sin modificar87
bull No contiene ninguacuten paquete que no forma parte del archivo88
de Debian
bull Utiliza kernels que provienen de Debian inalterados sin89
parches adicionales
22 Filosofiacutea 90
221 Solamente paquetes sin modificacioacuten alguna de91
Debian laquomainraquo
Solamente se utilizaraacuten paquetes del repositorio de Debian de92
la seccioacuten laquomainraquo La seccioacuten non-free no es parte de Debiany por lo tanto no puede ser utilizada de ninguna de las maneraspara generar imaacutegenes de sistema oficiales
No se modificaraacute ninguacuten paquete Siempre que se necesite93
modificar algo se haraacute en coordinacioacuten con el correspondientemantenedor del paquete en Debian
Como una excepcioacuten 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 seraacuten actualizados en Debian de manera regu-lar
222 Sin configuracioacuten especial para el Sistema Live 95
En esta fase no se crearaacute o instalaraacuten configuraciones alter- 96
nativas o de ejemplo Se utilizaraacuten todos los paquetes con suconfiguracioacuten por defecto tal y como quedan despueacutes de unainstalacioacuten normal de Debian
Siempre quese necesite unaconfiguracioacuten diferente a la de por 97
defecto se haraacute en coodinacioacuten conel mantenedor del paquete
Debian correspondiente
En lb config se emplea un sistema para configurar paque- 98
tes que utiliza debconf (mediante el uso de la opcioacuten --preseedFICHERO) permitiendo la personalizacioacuten de la configuracioacutende los paquetes que van a ser instalados en la imagen DebianLive quese genere pero las imaacutegenes Live oficiales solamenteutilizaraacuten la configuracioacuten por defecto
Excepcioacuten Es esencial realizar unos pocos cambios para que 99
un sistema pueda funcionar en vivo (como por ejemplo con-
figurar pam para permitir contrasentildeas vacias) Estos cambiosesenciales se deben mantener tan pequentildeos como sea posibley deberaacuten ser mezclados en el repositorio Debian siempre queexista la posibilidad
23 Contacto 100
bull Lista de correo El sistema de contacto principal del 101
proyecto es la lista de correo en lsaquohttplistsdebianorg
5
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1155
Manual Debian Live
debian-liversaquo Se puede enviar un correo a la lista di-rectamente dirigieacutendolo a lsaquodebian-livelistsdebianorgrsaquoLos archivos histoacutericos de la lista estaacuten disponibles enlsaquohttplistsdebianorgdebian-live rsaquo
bull IRC Un nuacutemero importante de usuarios y desarrol-102
ladores suele estar presente en el canal debian-live deircdebianorg (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
bull BTS El sistema de gestioacuten de errores de Debian (BTS) con-103
tiene detalles de problemas enviados por usuarios y desar-rolladores Los errores estaacuten numerados y se mantiene unregistro hasta que son reparados Si se desea maacutes informa-cioacuten ver lsaquoInformes de erroresrsaquo
bull Wiki El wiki de Debian Live en lsaquohttpwikidebianorg104
DebianLiversaquo es el lugar donde obtener informacioacuten discutirsobre la aplicacioacuten de tecnologiacuteas y de documentar her-ramientas para los sistemas Debian Live que vayan maacutesallaacute del aacutembito de este documento
Usuario105
3 Instalacioacuten106
31 Requisitos107
Para crear las imaacutegenes de Debian Live son necesarios los108
siguientes requisitos
bull Acceso de superusuario (root)109
bull Una versioacuten actualizada de live-build 110
bull Un inteacuterprete de comandos compatible con POSIX como por111
ejemplo bash o dash
bull debootstrap o cdebootstrap 112
bull Linux 26x 113
Tener en cuenta que no es necesario el uso de Debian o 114
una distribucioacuten derivada de Debian - live-build funcionaraacute
en casi cualquier distribucioacuten que cumpla con los requisitosanteriores
32 Instalacioacuten de live-build 115
Se puede instalar live-build de varias maneras difer- 116
entes
bull Desde el repositorio Debian 117
bull A partir del coacutedigo fuente 118
bull Desde laquoinstantaacuteneasraquo 119
Si se usa Debian el meacutetodo recomendado es instalar live-build 120
a traveacutes del repositorio de Debian
321 Desde el repositorio Debian 121
Simplemente instalar live-build como cualquier otro pa- 122
quete
apt-get install live-build 123
o 124
aptitude install live-build 125
322 A partir del coacutedigo fuente 126
live-build se desarrolla utilizando el sistema de control de ver- 127
siones Git En los sistemas basados en Debian se encuentrael paquete git Para ver el uacuteltimo coacutedigo ejecutar
6
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 455
Contents
6 Gestionar una configuracioacuten 1761 Utilizacioacuten de auto para gestionar los cam-
bios de la configuracioacuten 1762 Un ejemplo de scripts auto 18
7 Descripcioacuten general de la personalizacioacuten 1971 Configuracioacuten en el momento de la creacioacuten
vs en el momento del arranque 1972 Etapas de la creacioacuten 1973 Opciones para lb config en ficheros 2074 Tareas de personalizacioacuten 20
8 Personalizacioacuten de la instalacioacuten de paquetes 2081 Origen de los paquetes 21
811 Distribucioacuten aacutereas de archivo y modo 21812 Reacuteplicas de Distribucioacuten Debian 21
813 Reacuteplicas de Distribution utilizadas du-rante la creacioacuten 21814 Reacuteplicas de distribucioacuten Debianutilizadas en la ejecucioacuten 22
815 Repositorios adicionales 2282 Seleccioacuten de los paquetes a instalar 23
821 Listas de paquetes 23822 Listas de paquetes predefinidas 23823 Listas de paquetes locales 23824 Listas de paquetes locales para binary 24
825 Extensioacuten de una lista de paquetes dadamediante laquoincludesraquo 24826 Utilizacioacuten de condiciones dentro de las
listas de paquetes 24827 Tareas 25828 Tareas de Escritorio e Idioma 25
83 Instalar paquetes de terceros o paquetesmodificados 26
831 Meacutetodo chroot_local-packages para in-stalar paquetes personalizados 26
832 Meacutetodo de repositorio APT para instalarpaquetes personalizados 27
833 Paquetes personalizados y APT 2784 Configurar APT en la creacioacuten 27
841 Utilizar apt o aptitude 27842 Utilizacioacuten de un proxy con APT 27843 Ajuste de APT para ahorrar espacio 28844 Pasar opciones a apt o a aptitude 28845 APT pinning 28
9 Personalizacioacuten de contenidos 2991 Includes 29
911 Includes locales en Livechroot 30912 Includes locales en Binary 30913 Includes en Binary 30
92 Scripts gancho (Hooks) 31921 Scripts gancho locales en Livechroot 31922 Scripts gancho en tiempo de arranque 31923 Scripts gancho locales en Binary 31
93 Preconfiguracioacuten de las preguntas de Deb-conf 31
10 Personalizacioacuten del comportamiento en tiempo deejecucioacuten 32101 Personalizacioacuten del usuario por defecto del
sistema en vivo 32102 Personalizacioacuten de las variantes locales e
idioma 32103 Persistencia (Modo guardar cambios) 33
1031 Persistencia total 341032 Montar Home de forma automaacutetica 341033 Instantaacuteneas 341034 SubText persistente 351035 Remasterizacioacuten parcial 35
11 Personalizacioacuten de la imagen binaria 35111 Gestor de arranque 35
iv
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 555
Contents
112 Metadatos ISO 3512 Personalizacioacuten del Instalador de Debian 35
121 Tipos de imaacutegenes seguacuten el instalador 36122 Personalizando el Instalador de Debianme-
diante preconfiguracioacuten 37123 Personalizar el contenido del Instalador de
Debian 37
Proyecto 37
13 Informes de errores 37131 Problemas conocidos 37132 Reconstruir desde cero 38133 Utilizar paquetes actualizados 38134 Recopilar informacioacuten 38135 Aislar el fallo si es posible 39
136 Utilizar el paquete correcto sobre el que in-formar del error 39
1361 En la preinstalacioacuten (bootstrap) entiempo de creacioacuten 39
1362 Mientras se instalan paquetes entiempo de creacioacuten 39
1363 En tiempo de arranque 391364 En tiempo de ejecucioacuten 40
137 Hacer la investigacioacuten 40138 Doacutende informar de los fallos 40
14 Estilo de coacutedigo 40141 Compatibilidad 40142 Sangrado 41143 Ajuste de liacuteneas 41144 Variables 41145 Miscelaacutenea 42
15 Procedimientos 42151 Subir Udebs 42152 Principales lanzamientos 42153 Nuevas versiones 42
1531 Plantilla para anunciar nuevas ver-siones 42
Ejemplos 44
16 Ejemplos 44
161 Uso de los ejemplos 44162 Tutorial 1 Una imagen estaacutendar 44163 Tutorial 2 Una utilidad de navegador web 45164 Tutorial 3 Una imagen personalizada 45
1641 Primera revisioacuten 451642 Segunda revisioacuten 46
165 Un cliente VNC kiosk 46166 Una imagen baacutesica para un pendrive USB
de 128M 47167 Un escritorio KDE con variante local e in-
stalador 48
Metadata 50
SiSU Metadata document information 50
v
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 655
Manual Debian Live
Manual Debian Live1
Acerca de este manual2
1 Acerca de este manual3
El objetivo principal de este manual es servir como uacutenico punto4
de accesoa toda la documentacioacuten referenteal projecto DebianLive Estaacute principalmente enfocado a ayudar en la creacioacuten deun sistema en vivo y no estaacute dirigido al usuario final de es-tos sistemas Un usuario final puede encontrar informacioacutenuacutetil en las siguentes secciones lsaquoConceptos baacutesicosrsaquo cubre lapreparacioacuten de las imaacutegenes para arrancar un sistema desdeun medio de almacenamiento o desde red local lsaquoPersonal-izacioacuten del comportamiento en tiempo de ejecucioacutenrsaquo describe
alguna de las opciones que pueden especificarse en el indi-cador de arranque como pueden ser la seleccioacuten de la distribu-cioacuten del teclado las variantes locales o la persistencia
Algunos de los comandos mencionados en el texto deben ser5
ejecutados 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 siacutembolos no sonparte
de la orden
11 Para el impaciente6
Aunque se cree que todo lo descrito en este manual es impor-7
tante para la mayoriacutea de los usuarios es cierto que hay muchomaterial a interiorizar y que los usuarios desean experimentarcon las herramientas de forma raacutepida y satisfactoria antes deentrar en detalles Eacutesta es la razoacuten por la que se presentan tres
tutoriales en la seccioacuten lsaquoEjemplosrsaquo pensados para aprender aconfigurar y construir imaacutegenes de sistemas en vivo de formabaacutesica Se deberaacute leer primero lsaquoUso de ejemplosrsaquo seguido delsaquoTutorial 1 Una imagen estaacutendarrsaquo y lsaquoTutorial 2 Una utilidadde navegador webrsaquo para finalizar con lsaquoTutorial 3 Una imagenpersonalizadarsaquo Al final de estos tutoriales el lector tendraacute unavisioacuten de lo que se puede hacer con Debian Live Se anima aprofundizar en el estudio del manual con la lectura detenida delsiguiente capiacutetulo lsaquoConceptos baacutesicosrsaquo y de una manera maacutessomera el capiacutetulo lsaquoLa creacioacuten de una imagen netbootrsaquo paraacabar con la lectura de lsaquoDescripcioacuten general de la personal-izacioacutenrsaquo y los capiacutetulos que le siguen Se espera que en estepunto el lector esteacute lo suficientemente motivado con lo que sepuede hacer con Debian Live para leer el resto del manual deprincipio a fin
12 Teacuterminos 8
bull Sistema en vivo Se entiende por sistema en vivo aquel sis- 9
tema operativo que se puede arrancar sin instalacioacuten previaen el disco duro Un sistema en vivo no altera ninguacuten sis-tema operativo previamente instalado ni ninguacuten fichero ex-istente en el disco duro de la maacutequina a menos que se leinstruya para hacerlo Los sistemas en vivo son arrancadostiacutepicamente desde medios extraiacutebles como CD DVD o llaves
USB Algunos pueden tambieacuten arrancar desde la red localbull Debian Live Es un subproyecto de Debian que mantiene 10
los paquetes Debian live-boot live-build live-config y live-
manual
bull Sistema Debian Live Es un sistema en vivo que utiliza 11
programas del sistema operativo Debian y que puede ser ar-rancado desde medios extraiacutebles como CD DVD o llavesUSB desde red local (mediante imaacutegenes netboot) o desdeInternet (utilizando la opcioacuten de arranque fetch=URL)
1
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 755
Manual Debian Live
bull Sistema hueacutesped Es el conjunto de herramientas y equipo12
utilizado para crear el sistema en vivo
bull Sistema objetivo Es el conjunto de herramientas y equipo13
donde se ejecutaraacute el sistema en vivo
bull live-boot Es una coleccioacuten de scripts que seraacuten respons-14
ables de arrancar el sistema en vivo live-boot fue anterior-mente una parte del paquete live-initramfs
bull live-build Es una coleccioacuten de scripts utilizados para con-15
struir sistemas Debian Live personalizados live-build fueconocido anteriormente como live-helper y en una versioacutenanterior como live-package
bull live-config Es una coleccioacuten de scripts utilizados para con-16
figurar un sistema en vivo durante el proceso de arranque
live-config fue anteriormente parte del paquete live-initramfs
bull live-manual Este documento forma parte de un paquete17
llamado live-manual
bull Instalador de Debian (Debian Installer o d-i) Es el mecan-18
ismo oficial de instalacioacuten para la distribucioacuten Debian
bull Paraacutemetros de arranque Paraacutemetros que son entregados19
al gestor de arranque (bootloader) para modificar el compor-tamiento del kernel o del conjunto de scripts live-config Sonllamados tambieacuten Paraacutemetros de kernel u Opciones de ar-ranque
bull chroot El programa chroot chroot(8) permite ejecutar20
diferentes instancias de un entorno GNULinux en un solosistema de manera simultaacutenea sin necesidad de reiniciar elsistema
bull Imagen binaria Es un fichero binario que contiene el sis-21
tema en vivo Su nombre puede ser binaryiso o binaryimgdependiendo de su formato
bull Distribucioacuten objetivo Es la versioacuten de la distribucioacuten De-22
bian en la cual estaraacute basado el sistema en vivo que puedediferir de la versioacuten de la distribucioacuten en el sistema hueacutesped
bull SqueezeWheezySid (stabletestingunstable) Son los 23
nombres clave de las diferentes versiones de distribucioacutenDebian En el momento de escribir este documentoSqueeze es la actual versioacuten stable o estable Wheezy
es la actual versioacuten testing o en pruebas Sid es y seraacutesiempre sinoacutenimo de versioacuten unstable o inestable A lolargo de todo el manual se usan los nombres en clave delas versiones ya que las herramientas tambieacuten los usan
La distribucioacuten stable contiene la uacuteltima distribucioacuten Debian 24
oficialmente publicada La distribucioacuten testing estaacute en larampa de salida para ser la proacutexima distribucioacuten stable
La principal ventaja de utilizar esta distribucioacuten es que tieneversiones de programas maacutes recientes si se compara con laversioacuten stable La distribucioacuten unstable es doacutende se realizael desarrollo de Debian Generalmente esta distribucioacuten esusada por los desarrolladores y aquellos que les gusta vivir alfilo de lo imposible
13 Autores 25
Lista de autores (en orden alfabeacutetico) 26
bull Ben Armstrong 27
bull Brendan Sleight 28
bull Chris Lamb 29
bull Daniel Baumann 30
bull Franklin Piat 31
bull Jonas Stein 32
bull Kai Hendry 33
2
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 855
Manual Debian Live
bull Marco Amadori34
bull Mathieu Geli35
bull Matthias Kirschner36
bull Richard Nelson37
bull Trent W Buck38
14 Coacutemo contribuir en este documento39
Este manual se ha creado como un proyecto comunitario y40
cualquier propuesta para su mejora u otras contribuciones sonsiempre bienvenidas La mejor forma de hacer una contribu-cioacuten es enviarla a la lista de correo Ver la seccioacuten lsaquoContactorsaquo
para maacutes informacioacutenCuando se enviacutea una contribucioacuten se debe identificar clara-41
mente su copyright e incluir la declaracioacuten de licencia Se hacenotar que para ser aceptada una contribucioacuten debe ser licen-ciada bajo la misma licencia que el resto del documento estoes GPL versioacuten 3 o posterior
Los originales de este manual se mantienen utilizando el sis-42
tema de control de versiones Git Se puede obtener la copiamaacutes actualizada ejecutando la siguiente orden
$ git clone43
gitlivedebiannetgitlive-manualgit
Antes de enviar unacontribucioacuten se deberiacutea realizar unavisual-44
izacioacuten del trabajo realizado Para ello asegurarse de tener in-stalados los paquetes necesarios para la construccioacuten del live-manual ejecutando la siguiente orden
apt-get install make po4a sisu-complete45
libnokogiri-ruby
Se puede realizar la construccioacuten del manual posicionaacutendose46
en el directorio de nivel superior o sea en el directorio clonadomediante Git y ejecutando la siguiente orden
$ make build 47
Ya que la construccioacuten del manual para todos los idiomas so- 48
portados tarda un rato puede ser mejor crear un solo idiomaEsto puede realizarse ejecutando la siguiente orden
$ make build LANGUAGES=en 49
141 Aplicacioacuten de parches 50
Cualquiera puede hacer una entrega en el repositorio Sin em- 51
bargo a la hora de hacer grandes cambios es conveniente en-viarlos a la lista de correopara discutirlos primero Para realizaruna entrega al repositorio se debe seguir el siguiente proced-
imiento
bull Obtener la clave puacuteblica de entrega 52
$ mkdir -p ~sshidentityd 53
$ wget httplivedebiannetotherkeysgitlivedebiannet
-O ~sshidentitydgitlivedebiannet
$ wget httplivedebiannetotherkeysgitlivedebiannetpub
-O ~sshidentitydgitlivedebiannetpub
$ chmod 0600
~sshidentitydgitlivedebiannetbull Antildeadir la siguiente seccioacuten en el fichero de configuracioacuten de 54
openssh-client
$ cat gtgt ~sshconfig ltlt EOF 55
Host livedebiannetHostname livedebiannetUser gitIdentityFile
~sshidentitydgitlivedebiannetEOF
3
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 955
Manual Debian Live
bull Obtener un clon del manual mediante git utilizando ssh56
$ git clone gitlivedebiannetlive-manualgit57
$ cd live-manual ampamp git checkout debian-next
bull Asegurarse de enviar los cambios a la rama debian-next y no58
a la rama Debian
bull Despueacutes de editar los ficheros que se deseen en manual-59
en ejecutar laquomake commitraquo en el directorio superior parasanear los ficheros y actualizar los ficheros de traducciones
$ make commit60
bull Una vez se ha saneado se deberaacuten entregar los cambios61
Se deberaacute escribir un mensaje de entrega que consis-tiraacute en una o varias frases en ingles comenzando conuna letra mayuacutescula y acabando con un punto final Es
habitual comenzar estas frases con la forma `FixingAdding-RemovingCorrectingTranslating por ejemplo
$ git commit -a -m Adding a section on applying62
patches
bull Para finalizar se realizaraacute la entrega al servidor utilizando el63
siguiente comando
$ git push64
142 Traducciones65
Para enviar una traduccioacuten para un nuevo idioma se deben66
seguir los siguientes pasos
bull Traducirlos ficheros about_manualssipot about_projectssipot67
e indexhtmlinpot al idioma deseado con cualquier editor(como puede ser poedit) y enviarlos a la lista de correosUna vez hayan sido revisados el idioma seraacute antildeadido almanual (antildeadiendo los ficheros po) y se activaraacute en elautobuild
bull Una vez que el nuevo idioma haya sido antildeadido se puede68
comenzar la traduccioacuten de todos los ficheros po exisitentesen manualpo de manera aleatoria
bull No se debe olvidar la ejecucioacuten del comando make commit 69
para 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
21 Motivacioacuten 71
211 Desventajas en los sistemas Live actuales 72
Cuando se comenzoacute el trabajo en Debian Live ya existiacutean var- 73
ios Sistemas Live disponibles basados en la distribucioacuten De-bian y todos hacian un buen trabajo Desde la persectiva deDebian la mayoriacutea de estos sistemas teniacutean alguna de estasdesventajas
bull No eran proyectos de Debian y por lo tanto no contaban con 74
soporte desde dentro de Debian
bull Mezclaban paquetes de diferentes versiones por ejemplo 75
testing y unstable
bull Solamente soportaban la arquitectura i386 76
bull Modificaban el comportamiento yo la apariencia de los pa- 77
quetes eliminando contenido para reducirlos de tamantildeo
bull Incluiacutean paquetes de fuera del archivo de Debian 78
bull Utilizaban kernels personalizados con parches que no eran 79
parte de Debian
bull Eran demasiado lentos debido a su gran tamantildeo para ser 80
utilizados como sistemas de rescate
4
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1055
Manual Debian Live
bull No disponiacutean de diferentes medios de instalacioacuten como CDs81
DVDs llaves USB o imaacutegenes de arranque por red netboot
212 El porqueacute de crear un Sistema Live propio82
Debian es el Sistema Operativo Universal Debiantiene un Sis-83
tema Live para mostrar y representar el auteacutentico y verdaderoDebian con las siguientes ventajas fundamentales
bull Deberiacutea ser un subproyecto de Debian84
bull Refleja el estado (actual) de una versioacuten Debian85
bull Se ejecuta en tantas arquitecturas como es posible86
bull Consiste solamente de paquetes Debian sin modificar87
bull No contiene ninguacuten paquete que no forma parte del archivo88
de Debian
bull Utiliza kernels que provienen de Debian inalterados sin89
parches adicionales
22 Filosofiacutea 90
221 Solamente paquetes sin modificacioacuten alguna de91
Debian laquomainraquo
Solamente se utilizaraacuten paquetes del repositorio de Debian de92
la seccioacuten laquomainraquo La seccioacuten non-free no es parte de Debiany por lo tanto no puede ser utilizada de ninguna de las maneraspara generar imaacutegenes de sistema oficiales
No se modificaraacute ninguacuten paquete Siempre que se necesite93
modificar algo se haraacute en coordinacioacuten con el correspondientemantenedor del paquete en Debian
Como una excepcioacuten 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 seraacuten actualizados en Debian de manera regu-lar
222 Sin configuracioacuten especial para el Sistema Live 95
En esta fase no se crearaacute o instalaraacuten configuraciones alter- 96
nativas o de ejemplo Se utilizaraacuten todos los paquetes con suconfiguracioacuten por defecto tal y como quedan despueacutes de unainstalacioacuten normal de Debian
Siempre quese necesite unaconfiguracioacuten diferente a la de por 97
defecto se haraacute en coodinacioacuten conel mantenedor del paquete
Debian correspondiente
En lb config se emplea un sistema para configurar paque- 98
tes que utiliza debconf (mediante el uso de la opcioacuten --preseedFICHERO) permitiendo la personalizacioacuten de la configuracioacutende los paquetes que van a ser instalados en la imagen DebianLive quese genere pero las imaacutegenes Live oficiales solamenteutilizaraacuten la configuracioacuten por defecto
Excepcioacuten Es esencial realizar unos pocos cambios para que 99
un sistema pueda funcionar en vivo (como por ejemplo con-
figurar pam para permitir contrasentildeas vacias) Estos cambiosesenciales se deben mantener tan pequentildeos como sea posibley deberaacuten ser mezclados en el repositorio Debian siempre queexista la posibilidad
23 Contacto 100
bull Lista de correo El sistema de contacto principal del 101
proyecto es la lista de correo en lsaquohttplistsdebianorg
5
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1155
Manual Debian Live
debian-liversaquo Se puede enviar un correo a la lista di-rectamente dirigieacutendolo a lsaquodebian-livelistsdebianorgrsaquoLos archivos histoacutericos de la lista estaacuten disponibles enlsaquohttplistsdebianorgdebian-live rsaquo
bull IRC Un nuacutemero importante de usuarios y desarrol-102
ladores suele estar presente en el canal debian-live deircdebianorg (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
bull BTS El sistema de gestioacuten de errores de Debian (BTS) con-103
tiene detalles de problemas enviados por usuarios y desar-rolladores Los errores estaacuten numerados y se mantiene unregistro hasta que son reparados Si se desea maacutes informa-cioacuten ver lsaquoInformes de erroresrsaquo
bull Wiki El wiki de Debian Live en lsaquohttpwikidebianorg104
DebianLiversaquo es el lugar donde obtener informacioacuten discutirsobre la aplicacioacuten de tecnologiacuteas y de documentar her-ramientas para los sistemas Debian Live que vayan maacutesallaacute del aacutembito de este documento
Usuario105
3 Instalacioacuten106
31 Requisitos107
Para crear las imaacutegenes de Debian Live son necesarios los108
siguientes requisitos
bull Acceso de superusuario (root)109
bull Una versioacuten actualizada de live-build 110
bull Un inteacuterprete de comandos compatible con POSIX como por111
ejemplo bash o dash
bull debootstrap o cdebootstrap 112
bull Linux 26x 113
Tener en cuenta que no es necesario el uso de Debian o 114
una distribucioacuten derivada de Debian - live-build funcionaraacute
en casi cualquier distribucioacuten que cumpla con los requisitosanteriores
32 Instalacioacuten de live-build 115
Se puede instalar live-build de varias maneras difer- 116
entes
bull Desde el repositorio Debian 117
bull A partir del coacutedigo fuente 118
bull Desde laquoinstantaacuteneasraquo 119
Si se usa Debian el meacutetodo recomendado es instalar live-build 120
a traveacutes del repositorio de Debian
321 Desde el repositorio Debian 121
Simplemente instalar live-build como cualquier otro pa- 122
quete
apt-get install live-build 123
o 124
aptitude install live-build 125
322 A partir del coacutedigo fuente 126
live-build se desarrolla utilizando el sistema de control de ver- 127
siones Git En los sistemas basados en Debian se encuentrael paquete git Para ver el uacuteltimo coacutedigo ejecutar
6
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 555
Contents
112 Metadatos ISO 3512 Personalizacioacuten del Instalador de Debian 35
121 Tipos de imaacutegenes seguacuten el instalador 36122 Personalizando el Instalador de Debianme-
diante preconfiguracioacuten 37123 Personalizar el contenido del Instalador de
Debian 37
Proyecto 37
13 Informes de errores 37131 Problemas conocidos 37132 Reconstruir desde cero 38133 Utilizar paquetes actualizados 38134 Recopilar informacioacuten 38135 Aislar el fallo si es posible 39
136 Utilizar el paquete correcto sobre el que in-formar del error 39
1361 En la preinstalacioacuten (bootstrap) entiempo de creacioacuten 39
1362 Mientras se instalan paquetes entiempo de creacioacuten 39
1363 En tiempo de arranque 391364 En tiempo de ejecucioacuten 40
137 Hacer la investigacioacuten 40138 Doacutende informar de los fallos 40
14 Estilo de coacutedigo 40141 Compatibilidad 40142 Sangrado 41143 Ajuste de liacuteneas 41144 Variables 41145 Miscelaacutenea 42
15 Procedimientos 42151 Subir Udebs 42152 Principales lanzamientos 42153 Nuevas versiones 42
1531 Plantilla para anunciar nuevas ver-siones 42
Ejemplos 44
16 Ejemplos 44
161 Uso de los ejemplos 44162 Tutorial 1 Una imagen estaacutendar 44163 Tutorial 2 Una utilidad de navegador web 45164 Tutorial 3 Una imagen personalizada 45
1641 Primera revisioacuten 451642 Segunda revisioacuten 46
165 Un cliente VNC kiosk 46166 Una imagen baacutesica para un pendrive USB
de 128M 47167 Un escritorio KDE con variante local e in-
stalador 48
Metadata 50
SiSU Metadata document information 50
v
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 655
Manual Debian Live
Manual Debian Live1
Acerca de este manual2
1 Acerca de este manual3
El objetivo principal de este manual es servir como uacutenico punto4
de accesoa toda la documentacioacuten referenteal projecto DebianLive Estaacute principalmente enfocado a ayudar en la creacioacuten deun sistema en vivo y no estaacute dirigido al usuario final de es-tos sistemas Un usuario final puede encontrar informacioacutenuacutetil en las siguentes secciones lsaquoConceptos baacutesicosrsaquo cubre lapreparacioacuten de las imaacutegenes para arrancar un sistema desdeun medio de almacenamiento o desde red local lsaquoPersonal-izacioacuten del comportamiento en tiempo de ejecucioacutenrsaquo describe
alguna de las opciones que pueden especificarse en el indi-cador de arranque como pueden ser la seleccioacuten de la distribu-cioacuten del teclado las variantes locales o la persistencia
Algunos de los comandos mencionados en el texto deben ser5
ejecutados 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 siacutembolos no sonparte
de la orden
11 Para el impaciente6
Aunque se cree que todo lo descrito en este manual es impor-7
tante para la mayoriacutea de los usuarios es cierto que hay muchomaterial a interiorizar y que los usuarios desean experimentarcon las herramientas de forma raacutepida y satisfactoria antes deentrar en detalles Eacutesta es la razoacuten por la que se presentan tres
tutoriales en la seccioacuten lsaquoEjemplosrsaquo pensados para aprender aconfigurar y construir imaacutegenes de sistemas en vivo de formabaacutesica Se deberaacute leer primero lsaquoUso de ejemplosrsaquo seguido delsaquoTutorial 1 Una imagen estaacutendarrsaquo y lsaquoTutorial 2 Una utilidadde navegador webrsaquo para finalizar con lsaquoTutorial 3 Una imagenpersonalizadarsaquo Al final de estos tutoriales el lector tendraacute unavisioacuten de lo que se puede hacer con Debian Live Se anima aprofundizar en el estudio del manual con la lectura detenida delsiguiente capiacutetulo lsaquoConceptos baacutesicosrsaquo y de una manera maacutessomera el capiacutetulo lsaquoLa creacioacuten de una imagen netbootrsaquo paraacabar con la lectura de lsaquoDescripcioacuten general de la personal-izacioacutenrsaquo y los capiacutetulos que le siguen Se espera que en estepunto el lector esteacute lo suficientemente motivado con lo que sepuede hacer con Debian Live para leer el resto del manual deprincipio a fin
12 Teacuterminos 8
bull Sistema en vivo Se entiende por sistema en vivo aquel sis- 9
tema operativo que se puede arrancar sin instalacioacuten previaen el disco duro Un sistema en vivo no altera ninguacuten sis-tema operativo previamente instalado ni ninguacuten fichero ex-istente en el disco duro de la maacutequina a menos que se leinstruya para hacerlo Los sistemas en vivo son arrancadostiacutepicamente desde medios extraiacutebles como CD DVD o llaves
USB Algunos pueden tambieacuten arrancar desde la red localbull Debian Live Es un subproyecto de Debian que mantiene 10
los paquetes Debian live-boot live-build live-config y live-
manual
bull Sistema Debian Live Es un sistema en vivo que utiliza 11
programas del sistema operativo Debian y que puede ser ar-rancado desde medios extraiacutebles como CD DVD o llavesUSB desde red local (mediante imaacutegenes netboot) o desdeInternet (utilizando la opcioacuten de arranque fetch=URL)
1
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 755
Manual Debian Live
bull Sistema hueacutesped Es el conjunto de herramientas y equipo12
utilizado para crear el sistema en vivo
bull Sistema objetivo Es el conjunto de herramientas y equipo13
donde se ejecutaraacute el sistema en vivo
bull live-boot Es una coleccioacuten de scripts que seraacuten respons-14
ables de arrancar el sistema en vivo live-boot fue anterior-mente una parte del paquete live-initramfs
bull live-build Es una coleccioacuten de scripts utilizados para con-15
struir sistemas Debian Live personalizados live-build fueconocido anteriormente como live-helper y en una versioacutenanterior como live-package
bull live-config Es una coleccioacuten de scripts utilizados para con-16
figurar un sistema en vivo durante el proceso de arranque
live-config fue anteriormente parte del paquete live-initramfs
bull live-manual Este documento forma parte de un paquete17
llamado live-manual
bull Instalador de Debian (Debian Installer o d-i) Es el mecan-18
ismo oficial de instalacioacuten para la distribucioacuten Debian
bull Paraacutemetros de arranque Paraacutemetros que son entregados19
al gestor de arranque (bootloader) para modificar el compor-tamiento del kernel o del conjunto de scripts live-config Sonllamados tambieacuten Paraacutemetros de kernel u Opciones de ar-ranque
bull chroot El programa chroot chroot(8) permite ejecutar20
diferentes instancias de un entorno GNULinux en un solosistema de manera simultaacutenea sin necesidad de reiniciar elsistema
bull Imagen binaria Es un fichero binario que contiene el sis-21
tema en vivo Su nombre puede ser binaryiso o binaryimgdependiendo de su formato
bull Distribucioacuten objetivo Es la versioacuten de la distribucioacuten De-22
bian en la cual estaraacute basado el sistema en vivo que puedediferir de la versioacuten de la distribucioacuten en el sistema hueacutesped
bull SqueezeWheezySid (stabletestingunstable) Son los 23
nombres clave de las diferentes versiones de distribucioacutenDebian En el momento de escribir este documentoSqueeze es la actual versioacuten stable o estable Wheezy
es la actual versioacuten testing o en pruebas Sid es y seraacutesiempre sinoacutenimo de versioacuten unstable o inestable A lolargo de todo el manual se usan los nombres en clave delas versiones ya que las herramientas tambieacuten los usan
La distribucioacuten stable contiene la uacuteltima distribucioacuten Debian 24
oficialmente publicada La distribucioacuten testing estaacute en larampa de salida para ser la proacutexima distribucioacuten stable
La principal ventaja de utilizar esta distribucioacuten es que tieneversiones de programas maacutes recientes si se compara con laversioacuten stable La distribucioacuten unstable es doacutende se realizael desarrollo de Debian Generalmente esta distribucioacuten esusada por los desarrolladores y aquellos que les gusta vivir alfilo de lo imposible
13 Autores 25
Lista de autores (en orden alfabeacutetico) 26
bull Ben Armstrong 27
bull Brendan Sleight 28
bull Chris Lamb 29
bull Daniel Baumann 30
bull Franklin Piat 31
bull Jonas Stein 32
bull Kai Hendry 33
2
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 855
Manual Debian Live
bull Marco Amadori34
bull Mathieu Geli35
bull Matthias Kirschner36
bull Richard Nelson37
bull Trent W Buck38
14 Coacutemo contribuir en este documento39
Este manual se ha creado como un proyecto comunitario y40
cualquier propuesta para su mejora u otras contribuciones sonsiempre bienvenidas La mejor forma de hacer una contribu-cioacuten es enviarla a la lista de correo Ver la seccioacuten lsaquoContactorsaquo
para maacutes informacioacutenCuando se enviacutea una contribucioacuten se debe identificar clara-41
mente su copyright e incluir la declaracioacuten de licencia Se hacenotar que para ser aceptada una contribucioacuten debe ser licen-ciada bajo la misma licencia que el resto del documento estoes GPL versioacuten 3 o posterior
Los originales de este manual se mantienen utilizando el sis-42
tema de control de versiones Git Se puede obtener la copiamaacutes actualizada ejecutando la siguiente orden
$ git clone43
gitlivedebiannetgitlive-manualgit
Antes de enviar unacontribucioacuten se deberiacutea realizar unavisual-44
izacioacuten del trabajo realizado Para ello asegurarse de tener in-stalados los paquetes necesarios para la construccioacuten del live-manual ejecutando la siguiente orden
apt-get install make po4a sisu-complete45
libnokogiri-ruby
Se puede realizar la construccioacuten del manual posicionaacutendose46
en el directorio de nivel superior o sea en el directorio clonadomediante Git y ejecutando la siguiente orden
$ make build 47
Ya que la construccioacuten del manual para todos los idiomas so- 48
portados tarda un rato puede ser mejor crear un solo idiomaEsto puede realizarse ejecutando la siguiente orden
$ make build LANGUAGES=en 49
141 Aplicacioacuten de parches 50
Cualquiera puede hacer una entrega en el repositorio Sin em- 51
bargo a la hora de hacer grandes cambios es conveniente en-viarlos a la lista de correopara discutirlos primero Para realizaruna entrega al repositorio se debe seguir el siguiente proced-
imiento
bull Obtener la clave puacuteblica de entrega 52
$ mkdir -p ~sshidentityd 53
$ wget httplivedebiannetotherkeysgitlivedebiannet
-O ~sshidentitydgitlivedebiannet
$ wget httplivedebiannetotherkeysgitlivedebiannetpub
-O ~sshidentitydgitlivedebiannetpub
$ chmod 0600
~sshidentitydgitlivedebiannetbull Antildeadir la siguiente seccioacuten en el fichero de configuracioacuten de 54
openssh-client
$ cat gtgt ~sshconfig ltlt EOF 55
Host livedebiannetHostname livedebiannetUser gitIdentityFile
~sshidentitydgitlivedebiannetEOF
3
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 955
Manual Debian Live
bull Obtener un clon del manual mediante git utilizando ssh56
$ git clone gitlivedebiannetlive-manualgit57
$ cd live-manual ampamp git checkout debian-next
bull Asegurarse de enviar los cambios a la rama debian-next y no58
a la rama Debian
bull Despueacutes de editar los ficheros que se deseen en manual-59
en ejecutar laquomake commitraquo en el directorio superior parasanear los ficheros y actualizar los ficheros de traducciones
$ make commit60
bull Una vez se ha saneado se deberaacuten entregar los cambios61
Se deberaacute escribir un mensaje de entrega que consis-tiraacute en una o varias frases en ingles comenzando conuna letra mayuacutescula y acabando con un punto final Es
habitual comenzar estas frases con la forma `FixingAdding-RemovingCorrectingTranslating por ejemplo
$ git commit -a -m Adding a section on applying62
patches
bull Para finalizar se realizaraacute la entrega al servidor utilizando el63
siguiente comando
$ git push64
142 Traducciones65
Para enviar una traduccioacuten para un nuevo idioma se deben66
seguir los siguientes pasos
bull Traducirlos ficheros about_manualssipot about_projectssipot67
e indexhtmlinpot al idioma deseado con cualquier editor(como puede ser poedit) y enviarlos a la lista de correosUna vez hayan sido revisados el idioma seraacute antildeadido almanual (antildeadiendo los ficheros po) y se activaraacute en elautobuild
bull Una vez que el nuevo idioma haya sido antildeadido se puede68
comenzar la traduccioacuten de todos los ficheros po exisitentesen manualpo de manera aleatoria
bull No se debe olvidar la ejecucioacuten del comando make commit 69
para 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
21 Motivacioacuten 71
211 Desventajas en los sistemas Live actuales 72
Cuando se comenzoacute el trabajo en Debian Live ya existiacutean var- 73
ios Sistemas Live disponibles basados en la distribucioacuten De-bian y todos hacian un buen trabajo Desde la persectiva deDebian la mayoriacutea de estos sistemas teniacutean alguna de estasdesventajas
bull No eran proyectos de Debian y por lo tanto no contaban con 74
soporte desde dentro de Debian
bull Mezclaban paquetes de diferentes versiones por ejemplo 75
testing y unstable
bull Solamente soportaban la arquitectura i386 76
bull Modificaban el comportamiento yo la apariencia de los pa- 77
quetes eliminando contenido para reducirlos de tamantildeo
bull Incluiacutean paquetes de fuera del archivo de Debian 78
bull Utilizaban kernels personalizados con parches que no eran 79
parte de Debian
bull Eran demasiado lentos debido a su gran tamantildeo para ser 80
utilizados como sistemas de rescate
4
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1055
Manual Debian Live
bull No disponiacutean de diferentes medios de instalacioacuten como CDs81
DVDs llaves USB o imaacutegenes de arranque por red netboot
212 El porqueacute de crear un Sistema Live propio82
Debian es el Sistema Operativo Universal Debiantiene un Sis-83
tema Live para mostrar y representar el auteacutentico y verdaderoDebian con las siguientes ventajas fundamentales
bull Deberiacutea ser un subproyecto de Debian84
bull Refleja el estado (actual) de una versioacuten Debian85
bull Se ejecuta en tantas arquitecturas como es posible86
bull Consiste solamente de paquetes Debian sin modificar87
bull No contiene ninguacuten paquete que no forma parte del archivo88
de Debian
bull Utiliza kernels que provienen de Debian inalterados sin89
parches adicionales
22 Filosofiacutea 90
221 Solamente paquetes sin modificacioacuten alguna de91
Debian laquomainraquo
Solamente se utilizaraacuten paquetes del repositorio de Debian de92
la seccioacuten laquomainraquo La seccioacuten non-free no es parte de Debiany por lo tanto no puede ser utilizada de ninguna de las maneraspara generar imaacutegenes de sistema oficiales
No se modificaraacute ninguacuten paquete Siempre que se necesite93
modificar algo se haraacute en coordinacioacuten con el correspondientemantenedor del paquete en Debian
Como una excepcioacuten 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 seraacuten actualizados en Debian de manera regu-lar
222 Sin configuracioacuten especial para el Sistema Live 95
En esta fase no se crearaacute o instalaraacuten configuraciones alter- 96
nativas o de ejemplo Se utilizaraacuten todos los paquetes con suconfiguracioacuten por defecto tal y como quedan despueacutes de unainstalacioacuten normal de Debian
Siempre quese necesite unaconfiguracioacuten diferente a la de por 97
defecto se haraacute en coodinacioacuten conel mantenedor del paquete
Debian correspondiente
En lb config se emplea un sistema para configurar paque- 98
tes que utiliza debconf (mediante el uso de la opcioacuten --preseedFICHERO) permitiendo la personalizacioacuten de la configuracioacutende los paquetes que van a ser instalados en la imagen DebianLive quese genere pero las imaacutegenes Live oficiales solamenteutilizaraacuten la configuracioacuten por defecto
Excepcioacuten Es esencial realizar unos pocos cambios para que 99
un sistema pueda funcionar en vivo (como por ejemplo con-
figurar pam para permitir contrasentildeas vacias) Estos cambiosesenciales se deben mantener tan pequentildeos como sea posibley deberaacuten ser mezclados en el repositorio Debian siempre queexista la posibilidad
23 Contacto 100
bull Lista de correo El sistema de contacto principal del 101
proyecto es la lista de correo en lsaquohttplistsdebianorg
5
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1155
Manual Debian Live
debian-liversaquo Se puede enviar un correo a la lista di-rectamente dirigieacutendolo a lsaquodebian-livelistsdebianorgrsaquoLos archivos histoacutericos de la lista estaacuten disponibles enlsaquohttplistsdebianorgdebian-live rsaquo
bull IRC Un nuacutemero importante de usuarios y desarrol-102
ladores suele estar presente en el canal debian-live deircdebianorg (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
bull BTS El sistema de gestioacuten de errores de Debian (BTS) con-103
tiene detalles de problemas enviados por usuarios y desar-rolladores Los errores estaacuten numerados y se mantiene unregistro hasta que son reparados Si se desea maacutes informa-cioacuten ver lsaquoInformes de erroresrsaquo
bull Wiki El wiki de Debian Live en lsaquohttpwikidebianorg104
DebianLiversaquo es el lugar donde obtener informacioacuten discutirsobre la aplicacioacuten de tecnologiacuteas y de documentar her-ramientas para los sistemas Debian Live que vayan maacutesallaacute del aacutembito de este documento
Usuario105
3 Instalacioacuten106
31 Requisitos107
Para crear las imaacutegenes de Debian Live son necesarios los108
siguientes requisitos
bull Acceso de superusuario (root)109
bull Una versioacuten actualizada de live-build 110
bull Un inteacuterprete de comandos compatible con POSIX como por111
ejemplo bash o dash
bull debootstrap o cdebootstrap 112
bull Linux 26x 113
Tener en cuenta que no es necesario el uso de Debian o 114
una distribucioacuten derivada de Debian - live-build funcionaraacute
en casi cualquier distribucioacuten que cumpla con los requisitosanteriores
32 Instalacioacuten de live-build 115
Se puede instalar live-build de varias maneras difer- 116
entes
bull Desde el repositorio Debian 117
bull A partir del coacutedigo fuente 118
bull Desde laquoinstantaacuteneasraquo 119
Si se usa Debian el meacutetodo recomendado es instalar live-build 120
a traveacutes del repositorio de Debian
321 Desde el repositorio Debian 121
Simplemente instalar live-build como cualquier otro pa- 122
quete
apt-get install live-build 123
o 124
aptitude install live-build 125
322 A partir del coacutedigo fuente 126
live-build se desarrolla utilizando el sistema de control de ver- 127
siones Git En los sistemas basados en Debian se encuentrael paquete git Para ver el uacuteltimo coacutedigo ejecutar
6
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 655
Manual Debian Live
Manual Debian Live1
Acerca de este manual2
1 Acerca de este manual3
El objetivo principal de este manual es servir como uacutenico punto4
de accesoa toda la documentacioacuten referenteal projecto DebianLive Estaacute principalmente enfocado a ayudar en la creacioacuten deun sistema en vivo y no estaacute dirigido al usuario final de es-tos sistemas Un usuario final puede encontrar informacioacutenuacutetil en las siguentes secciones lsaquoConceptos baacutesicosrsaquo cubre lapreparacioacuten de las imaacutegenes para arrancar un sistema desdeun medio de almacenamiento o desde red local lsaquoPersonal-izacioacuten del comportamiento en tiempo de ejecucioacutenrsaquo describe
alguna de las opciones que pueden especificarse en el indi-cador de arranque como pueden ser la seleccioacuten de la distribu-cioacuten del teclado las variantes locales o la persistencia
Algunos de los comandos mencionados en el texto deben ser5
ejecutados 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 siacutembolos no sonparte
de la orden
11 Para el impaciente6
Aunque se cree que todo lo descrito en este manual es impor-7
tante para la mayoriacutea de los usuarios es cierto que hay muchomaterial a interiorizar y que los usuarios desean experimentarcon las herramientas de forma raacutepida y satisfactoria antes deentrar en detalles Eacutesta es la razoacuten por la que se presentan tres
tutoriales en la seccioacuten lsaquoEjemplosrsaquo pensados para aprender aconfigurar y construir imaacutegenes de sistemas en vivo de formabaacutesica Se deberaacute leer primero lsaquoUso de ejemplosrsaquo seguido delsaquoTutorial 1 Una imagen estaacutendarrsaquo y lsaquoTutorial 2 Una utilidadde navegador webrsaquo para finalizar con lsaquoTutorial 3 Una imagenpersonalizadarsaquo Al final de estos tutoriales el lector tendraacute unavisioacuten de lo que se puede hacer con Debian Live Se anima aprofundizar en el estudio del manual con la lectura detenida delsiguiente capiacutetulo lsaquoConceptos baacutesicosrsaquo y de una manera maacutessomera el capiacutetulo lsaquoLa creacioacuten de una imagen netbootrsaquo paraacabar con la lectura de lsaquoDescripcioacuten general de la personal-izacioacutenrsaquo y los capiacutetulos que le siguen Se espera que en estepunto el lector esteacute lo suficientemente motivado con lo que sepuede hacer con Debian Live para leer el resto del manual deprincipio a fin
12 Teacuterminos 8
bull Sistema en vivo Se entiende por sistema en vivo aquel sis- 9
tema operativo que se puede arrancar sin instalacioacuten previaen el disco duro Un sistema en vivo no altera ninguacuten sis-tema operativo previamente instalado ni ninguacuten fichero ex-istente en el disco duro de la maacutequina a menos que se leinstruya para hacerlo Los sistemas en vivo son arrancadostiacutepicamente desde medios extraiacutebles como CD DVD o llaves
USB Algunos pueden tambieacuten arrancar desde la red localbull Debian Live Es un subproyecto de Debian que mantiene 10
los paquetes Debian live-boot live-build live-config y live-
manual
bull Sistema Debian Live Es un sistema en vivo que utiliza 11
programas del sistema operativo Debian y que puede ser ar-rancado desde medios extraiacutebles como CD DVD o llavesUSB desde red local (mediante imaacutegenes netboot) o desdeInternet (utilizando la opcioacuten de arranque fetch=URL)
1
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 755
Manual Debian Live
bull Sistema hueacutesped Es el conjunto de herramientas y equipo12
utilizado para crear el sistema en vivo
bull Sistema objetivo Es el conjunto de herramientas y equipo13
donde se ejecutaraacute el sistema en vivo
bull live-boot Es una coleccioacuten de scripts que seraacuten respons-14
ables de arrancar el sistema en vivo live-boot fue anterior-mente una parte del paquete live-initramfs
bull live-build Es una coleccioacuten de scripts utilizados para con-15
struir sistemas Debian Live personalizados live-build fueconocido anteriormente como live-helper y en una versioacutenanterior como live-package
bull live-config Es una coleccioacuten de scripts utilizados para con-16
figurar un sistema en vivo durante el proceso de arranque
live-config fue anteriormente parte del paquete live-initramfs
bull live-manual Este documento forma parte de un paquete17
llamado live-manual
bull Instalador de Debian (Debian Installer o d-i) Es el mecan-18
ismo oficial de instalacioacuten para la distribucioacuten Debian
bull Paraacutemetros de arranque Paraacutemetros que son entregados19
al gestor de arranque (bootloader) para modificar el compor-tamiento del kernel o del conjunto de scripts live-config Sonllamados tambieacuten Paraacutemetros de kernel u Opciones de ar-ranque
bull chroot El programa chroot chroot(8) permite ejecutar20
diferentes instancias de un entorno GNULinux en un solosistema de manera simultaacutenea sin necesidad de reiniciar elsistema
bull Imagen binaria Es un fichero binario que contiene el sis-21
tema en vivo Su nombre puede ser binaryiso o binaryimgdependiendo de su formato
bull Distribucioacuten objetivo Es la versioacuten de la distribucioacuten De-22
bian en la cual estaraacute basado el sistema en vivo que puedediferir de la versioacuten de la distribucioacuten en el sistema hueacutesped
bull SqueezeWheezySid (stabletestingunstable) Son los 23
nombres clave de las diferentes versiones de distribucioacutenDebian En el momento de escribir este documentoSqueeze es la actual versioacuten stable o estable Wheezy
es la actual versioacuten testing o en pruebas Sid es y seraacutesiempre sinoacutenimo de versioacuten unstable o inestable A lolargo de todo el manual se usan los nombres en clave delas versiones ya que las herramientas tambieacuten los usan
La distribucioacuten stable contiene la uacuteltima distribucioacuten Debian 24
oficialmente publicada La distribucioacuten testing estaacute en larampa de salida para ser la proacutexima distribucioacuten stable
La principal ventaja de utilizar esta distribucioacuten es que tieneversiones de programas maacutes recientes si se compara con laversioacuten stable La distribucioacuten unstable es doacutende se realizael desarrollo de Debian Generalmente esta distribucioacuten esusada por los desarrolladores y aquellos que les gusta vivir alfilo de lo imposible
13 Autores 25
Lista de autores (en orden alfabeacutetico) 26
bull Ben Armstrong 27
bull Brendan Sleight 28
bull Chris Lamb 29
bull Daniel Baumann 30
bull Franklin Piat 31
bull Jonas Stein 32
bull Kai Hendry 33
2
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 855
Manual Debian Live
bull Marco Amadori34
bull Mathieu Geli35
bull Matthias Kirschner36
bull Richard Nelson37
bull Trent W Buck38
14 Coacutemo contribuir en este documento39
Este manual se ha creado como un proyecto comunitario y40
cualquier propuesta para su mejora u otras contribuciones sonsiempre bienvenidas La mejor forma de hacer una contribu-cioacuten es enviarla a la lista de correo Ver la seccioacuten lsaquoContactorsaquo
para maacutes informacioacutenCuando se enviacutea una contribucioacuten se debe identificar clara-41
mente su copyright e incluir la declaracioacuten de licencia Se hacenotar que para ser aceptada una contribucioacuten debe ser licen-ciada bajo la misma licencia que el resto del documento estoes GPL versioacuten 3 o posterior
Los originales de este manual se mantienen utilizando el sis-42
tema de control de versiones Git Se puede obtener la copiamaacutes actualizada ejecutando la siguiente orden
$ git clone43
gitlivedebiannetgitlive-manualgit
Antes de enviar unacontribucioacuten se deberiacutea realizar unavisual-44
izacioacuten del trabajo realizado Para ello asegurarse de tener in-stalados los paquetes necesarios para la construccioacuten del live-manual ejecutando la siguiente orden
apt-get install make po4a sisu-complete45
libnokogiri-ruby
Se puede realizar la construccioacuten del manual posicionaacutendose46
en el directorio de nivel superior o sea en el directorio clonadomediante Git y ejecutando la siguiente orden
$ make build 47
Ya que la construccioacuten del manual para todos los idiomas so- 48
portados tarda un rato puede ser mejor crear un solo idiomaEsto puede realizarse ejecutando la siguiente orden
$ make build LANGUAGES=en 49
141 Aplicacioacuten de parches 50
Cualquiera puede hacer una entrega en el repositorio Sin em- 51
bargo a la hora de hacer grandes cambios es conveniente en-viarlos a la lista de correopara discutirlos primero Para realizaruna entrega al repositorio se debe seguir el siguiente proced-
imiento
bull Obtener la clave puacuteblica de entrega 52
$ mkdir -p ~sshidentityd 53
$ wget httplivedebiannetotherkeysgitlivedebiannet
-O ~sshidentitydgitlivedebiannet
$ wget httplivedebiannetotherkeysgitlivedebiannetpub
-O ~sshidentitydgitlivedebiannetpub
$ chmod 0600
~sshidentitydgitlivedebiannetbull Antildeadir la siguiente seccioacuten en el fichero de configuracioacuten de 54
openssh-client
$ cat gtgt ~sshconfig ltlt EOF 55
Host livedebiannetHostname livedebiannetUser gitIdentityFile
~sshidentitydgitlivedebiannetEOF
3
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 955
Manual Debian Live
bull Obtener un clon del manual mediante git utilizando ssh56
$ git clone gitlivedebiannetlive-manualgit57
$ cd live-manual ampamp git checkout debian-next
bull Asegurarse de enviar los cambios a la rama debian-next y no58
a la rama Debian
bull Despueacutes de editar los ficheros que se deseen en manual-59
en ejecutar laquomake commitraquo en el directorio superior parasanear los ficheros y actualizar los ficheros de traducciones
$ make commit60
bull Una vez se ha saneado se deberaacuten entregar los cambios61
Se deberaacute escribir un mensaje de entrega que consis-tiraacute en una o varias frases en ingles comenzando conuna letra mayuacutescula y acabando con un punto final Es
habitual comenzar estas frases con la forma `FixingAdding-RemovingCorrectingTranslating por ejemplo
$ git commit -a -m Adding a section on applying62
patches
bull Para finalizar se realizaraacute la entrega al servidor utilizando el63
siguiente comando
$ git push64
142 Traducciones65
Para enviar una traduccioacuten para un nuevo idioma se deben66
seguir los siguientes pasos
bull Traducirlos ficheros about_manualssipot about_projectssipot67
e indexhtmlinpot al idioma deseado con cualquier editor(como puede ser poedit) y enviarlos a la lista de correosUna vez hayan sido revisados el idioma seraacute antildeadido almanual (antildeadiendo los ficheros po) y se activaraacute en elautobuild
bull Una vez que el nuevo idioma haya sido antildeadido se puede68
comenzar la traduccioacuten de todos los ficheros po exisitentesen manualpo de manera aleatoria
bull No se debe olvidar la ejecucioacuten del comando make commit 69
para 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
21 Motivacioacuten 71
211 Desventajas en los sistemas Live actuales 72
Cuando se comenzoacute el trabajo en Debian Live ya existiacutean var- 73
ios Sistemas Live disponibles basados en la distribucioacuten De-bian y todos hacian un buen trabajo Desde la persectiva deDebian la mayoriacutea de estos sistemas teniacutean alguna de estasdesventajas
bull No eran proyectos de Debian y por lo tanto no contaban con 74
soporte desde dentro de Debian
bull Mezclaban paquetes de diferentes versiones por ejemplo 75
testing y unstable
bull Solamente soportaban la arquitectura i386 76
bull Modificaban el comportamiento yo la apariencia de los pa- 77
quetes eliminando contenido para reducirlos de tamantildeo
bull Incluiacutean paquetes de fuera del archivo de Debian 78
bull Utilizaban kernels personalizados con parches que no eran 79
parte de Debian
bull Eran demasiado lentos debido a su gran tamantildeo para ser 80
utilizados como sistemas de rescate
4
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1055
Manual Debian Live
bull No disponiacutean de diferentes medios de instalacioacuten como CDs81
DVDs llaves USB o imaacutegenes de arranque por red netboot
212 El porqueacute de crear un Sistema Live propio82
Debian es el Sistema Operativo Universal Debiantiene un Sis-83
tema Live para mostrar y representar el auteacutentico y verdaderoDebian con las siguientes ventajas fundamentales
bull Deberiacutea ser un subproyecto de Debian84
bull Refleja el estado (actual) de una versioacuten Debian85
bull Se ejecuta en tantas arquitecturas como es posible86
bull Consiste solamente de paquetes Debian sin modificar87
bull No contiene ninguacuten paquete que no forma parte del archivo88
de Debian
bull Utiliza kernels que provienen de Debian inalterados sin89
parches adicionales
22 Filosofiacutea 90
221 Solamente paquetes sin modificacioacuten alguna de91
Debian laquomainraquo
Solamente se utilizaraacuten paquetes del repositorio de Debian de92
la seccioacuten laquomainraquo La seccioacuten non-free no es parte de Debiany por lo tanto no puede ser utilizada de ninguna de las maneraspara generar imaacutegenes de sistema oficiales
No se modificaraacute ninguacuten paquete Siempre que se necesite93
modificar algo se haraacute en coordinacioacuten con el correspondientemantenedor del paquete en Debian
Como una excepcioacuten 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 seraacuten actualizados en Debian de manera regu-lar
222 Sin configuracioacuten especial para el Sistema Live 95
En esta fase no se crearaacute o instalaraacuten configuraciones alter- 96
nativas o de ejemplo Se utilizaraacuten todos los paquetes con suconfiguracioacuten por defecto tal y como quedan despueacutes de unainstalacioacuten normal de Debian
Siempre quese necesite unaconfiguracioacuten diferente a la de por 97
defecto se haraacute en coodinacioacuten conel mantenedor del paquete
Debian correspondiente
En lb config se emplea un sistema para configurar paque- 98
tes que utiliza debconf (mediante el uso de la opcioacuten --preseedFICHERO) permitiendo la personalizacioacuten de la configuracioacutende los paquetes que van a ser instalados en la imagen DebianLive quese genere pero las imaacutegenes Live oficiales solamenteutilizaraacuten la configuracioacuten por defecto
Excepcioacuten Es esencial realizar unos pocos cambios para que 99
un sistema pueda funcionar en vivo (como por ejemplo con-
figurar pam para permitir contrasentildeas vacias) Estos cambiosesenciales se deben mantener tan pequentildeos como sea posibley deberaacuten ser mezclados en el repositorio Debian siempre queexista la posibilidad
23 Contacto 100
bull Lista de correo El sistema de contacto principal del 101
proyecto es la lista de correo en lsaquohttplistsdebianorg
5
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1155
Manual Debian Live
debian-liversaquo Se puede enviar un correo a la lista di-rectamente dirigieacutendolo a lsaquodebian-livelistsdebianorgrsaquoLos archivos histoacutericos de la lista estaacuten disponibles enlsaquohttplistsdebianorgdebian-live rsaquo
bull IRC Un nuacutemero importante de usuarios y desarrol-102
ladores suele estar presente en el canal debian-live deircdebianorg (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
bull BTS El sistema de gestioacuten de errores de Debian (BTS) con-103
tiene detalles de problemas enviados por usuarios y desar-rolladores Los errores estaacuten numerados y se mantiene unregistro hasta que son reparados Si se desea maacutes informa-cioacuten ver lsaquoInformes de erroresrsaquo
bull Wiki El wiki de Debian Live en lsaquohttpwikidebianorg104
DebianLiversaquo es el lugar donde obtener informacioacuten discutirsobre la aplicacioacuten de tecnologiacuteas y de documentar her-ramientas para los sistemas Debian Live que vayan maacutesallaacute del aacutembito de este documento
Usuario105
3 Instalacioacuten106
31 Requisitos107
Para crear las imaacutegenes de Debian Live son necesarios los108
siguientes requisitos
bull Acceso de superusuario (root)109
bull Una versioacuten actualizada de live-build 110
bull Un inteacuterprete de comandos compatible con POSIX como por111
ejemplo bash o dash
bull debootstrap o cdebootstrap 112
bull Linux 26x 113
Tener en cuenta que no es necesario el uso de Debian o 114
una distribucioacuten derivada de Debian - live-build funcionaraacute
en casi cualquier distribucioacuten que cumpla con los requisitosanteriores
32 Instalacioacuten de live-build 115
Se puede instalar live-build de varias maneras difer- 116
entes
bull Desde el repositorio Debian 117
bull A partir del coacutedigo fuente 118
bull Desde laquoinstantaacuteneasraquo 119
Si se usa Debian el meacutetodo recomendado es instalar live-build 120
a traveacutes del repositorio de Debian
321 Desde el repositorio Debian 121
Simplemente instalar live-build como cualquier otro pa- 122
quete
apt-get install live-build 123
o 124
aptitude install live-build 125
322 A partir del coacutedigo fuente 126
live-build se desarrolla utilizando el sistema de control de ver- 127
siones Git En los sistemas basados en Debian se encuentrael paquete git Para ver el uacuteltimo coacutedigo ejecutar
6
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 755
Manual Debian Live
bull Sistema hueacutesped Es el conjunto de herramientas y equipo12
utilizado para crear el sistema en vivo
bull Sistema objetivo Es el conjunto de herramientas y equipo13
donde se ejecutaraacute el sistema en vivo
bull live-boot Es una coleccioacuten de scripts que seraacuten respons-14
ables de arrancar el sistema en vivo live-boot fue anterior-mente una parte del paquete live-initramfs
bull live-build Es una coleccioacuten de scripts utilizados para con-15
struir sistemas Debian Live personalizados live-build fueconocido anteriormente como live-helper y en una versioacutenanterior como live-package
bull live-config Es una coleccioacuten de scripts utilizados para con-16
figurar un sistema en vivo durante el proceso de arranque
live-config fue anteriormente parte del paquete live-initramfs
bull live-manual Este documento forma parte de un paquete17
llamado live-manual
bull Instalador de Debian (Debian Installer o d-i) Es el mecan-18
ismo oficial de instalacioacuten para la distribucioacuten Debian
bull Paraacutemetros de arranque Paraacutemetros que son entregados19
al gestor de arranque (bootloader) para modificar el compor-tamiento del kernel o del conjunto de scripts live-config Sonllamados tambieacuten Paraacutemetros de kernel u Opciones de ar-ranque
bull chroot El programa chroot chroot(8) permite ejecutar20
diferentes instancias de un entorno GNULinux en un solosistema de manera simultaacutenea sin necesidad de reiniciar elsistema
bull Imagen binaria Es un fichero binario que contiene el sis-21
tema en vivo Su nombre puede ser binaryiso o binaryimgdependiendo de su formato
bull Distribucioacuten objetivo Es la versioacuten de la distribucioacuten De-22
bian en la cual estaraacute basado el sistema en vivo que puedediferir de la versioacuten de la distribucioacuten en el sistema hueacutesped
bull SqueezeWheezySid (stabletestingunstable) Son los 23
nombres clave de las diferentes versiones de distribucioacutenDebian En el momento de escribir este documentoSqueeze es la actual versioacuten stable o estable Wheezy
es la actual versioacuten testing o en pruebas Sid es y seraacutesiempre sinoacutenimo de versioacuten unstable o inestable A lolargo de todo el manual se usan los nombres en clave delas versiones ya que las herramientas tambieacuten los usan
La distribucioacuten stable contiene la uacuteltima distribucioacuten Debian 24
oficialmente publicada La distribucioacuten testing estaacute en larampa de salida para ser la proacutexima distribucioacuten stable
La principal ventaja de utilizar esta distribucioacuten es que tieneversiones de programas maacutes recientes si se compara con laversioacuten stable La distribucioacuten unstable es doacutende se realizael desarrollo de Debian Generalmente esta distribucioacuten esusada por los desarrolladores y aquellos que les gusta vivir alfilo de lo imposible
13 Autores 25
Lista de autores (en orden alfabeacutetico) 26
bull Ben Armstrong 27
bull Brendan Sleight 28
bull Chris Lamb 29
bull Daniel Baumann 30
bull Franklin Piat 31
bull Jonas Stein 32
bull Kai Hendry 33
2
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 855
Manual Debian Live
bull Marco Amadori34
bull Mathieu Geli35
bull Matthias Kirschner36
bull Richard Nelson37
bull Trent W Buck38
14 Coacutemo contribuir en este documento39
Este manual se ha creado como un proyecto comunitario y40
cualquier propuesta para su mejora u otras contribuciones sonsiempre bienvenidas La mejor forma de hacer una contribu-cioacuten es enviarla a la lista de correo Ver la seccioacuten lsaquoContactorsaquo
para maacutes informacioacutenCuando se enviacutea una contribucioacuten se debe identificar clara-41
mente su copyright e incluir la declaracioacuten de licencia Se hacenotar que para ser aceptada una contribucioacuten debe ser licen-ciada bajo la misma licencia que el resto del documento estoes GPL versioacuten 3 o posterior
Los originales de este manual se mantienen utilizando el sis-42
tema de control de versiones Git Se puede obtener la copiamaacutes actualizada ejecutando la siguiente orden
$ git clone43
gitlivedebiannetgitlive-manualgit
Antes de enviar unacontribucioacuten se deberiacutea realizar unavisual-44
izacioacuten del trabajo realizado Para ello asegurarse de tener in-stalados los paquetes necesarios para la construccioacuten del live-manual ejecutando la siguiente orden
apt-get install make po4a sisu-complete45
libnokogiri-ruby
Se puede realizar la construccioacuten del manual posicionaacutendose46
en el directorio de nivel superior o sea en el directorio clonadomediante Git y ejecutando la siguiente orden
$ make build 47
Ya que la construccioacuten del manual para todos los idiomas so- 48
portados tarda un rato puede ser mejor crear un solo idiomaEsto puede realizarse ejecutando la siguiente orden
$ make build LANGUAGES=en 49
141 Aplicacioacuten de parches 50
Cualquiera puede hacer una entrega en el repositorio Sin em- 51
bargo a la hora de hacer grandes cambios es conveniente en-viarlos a la lista de correopara discutirlos primero Para realizaruna entrega al repositorio se debe seguir el siguiente proced-
imiento
bull Obtener la clave puacuteblica de entrega 52
$ mkdir -p ~sshidentityd 53
$ wget httplivedebiannetotherkeysgitlivedebiannet
-O ~sshidentitydgitlivedebiannet
$ wget httplivedebiannetotherkeysgitlivedebiannetpub
-O ~sshidentitydgitlivedebiannetpub
$ chmod 0600
~sshidentitydgitlivedebiannetbull Antildeadir la siguiente seccioacuten en el fichero de configuracioacuten de 54
openssh-client
$ cat gtgt ~sshconfig ltlt EOF 55
Host livedebiannetHostname livedebiannetUser gitIdentityFile
~sshidentitydgitlivedebiannetEOF
3
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 955
Manual Debian Live
bull Obtener un clon del manual mediante git utilizando ssh56
$ git clone gitlivedebiannetlive-manualgit57
$ cd live-manual ampamp git checkout debian-next
bull Asegurarse de enviar los cambios a la rama debian-next y no58
a la rama Debian
bull Despueacutes de editar los ficheros que se deseen en manual-59
en ejecutar laquomake commitraquo en el directorio superior parasanear los ficheros y actualizar los ficheros de traducciones
$ make commit60
bull Una vez se ha saneado se deberaacuten entregar los cambios61
Se deberaacute escribir un mensaje de entrega que consis-tiraacute en una o varias frases en ingles comenzando conuna letra mayuacutescula y acabando con un punto final Es
habitual comenzar estas frases con la forma `FixingAdding-RemovingCorrectingTranslating por ejemplo
$ git commit -a -m Adding a section on applying62
patches
bull Para finalizar se realizaraacute la entrega al servidor utilizando el63
siguiente comando
$ git push64
142 Traducciones65
Para enviar una traduccioacuten para un nuevo idioma se deben66
seguir los siguientes pasos
bull Traducirlos ficheros about_manualssipot about_projectssipot67
e indexhtmlinpot al idioma deseado con cualquier editor(como puede ser poedit) y enviarlos a la lista de correosUna vez hayan sido revisados el idioma seraacute antildeadido almanual (antildeadiendo los ficheros po) y se activaraacute en elautobuild
bull Una vez que el nuevo idioma haya sido antildeadido se puede68
comenzar la traduccioacuten de todos los ficheros po exisitentesen manualpo de manera aleatoria
bull No se debe olvidar la ejecucioacuten del comando make commit 69
para 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
21 Motivacioacuten 71
211 Desventajas en los sistemas Live actuales 72
Cuando se comenzoacute el trabajo en Debian Live ya existiacutean var- 73
ios Sistemas Live disponibles basados en la distribucioacuten De-bian y todos hacian un buen trabajo Desde la persectiva deDebian la mayoriacutea de estos sistemas teniacutean alguna de estasdesventajas
bull No eran proyectos de Debian y por lo tanto no contaban con 74
soporte desde dentro de Debian
bull Mezclaban paquetes de diferentes versiones por ejemplo 75
testing y unstable
bull Solamente soportaban la arquitectura i386 76
bull Modificaban el comportamiento yo la apariencia de los pa- 77
quetes eliminando contenido para reducirlos de tamantildeo
bull Incluiacutean paquetes de fuera del archivo de Debian 78
bull Utilizaban kernels personalizados con parches que no eran 79
parte de Debian
bull Eran demasiado lentos debido a su gran tamantildeo para ser 80
utilizados como sistemas de rescate
4
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1055
Manual Debian Live
bull No disponiacutean de diferentes medios de instalacioacuten como CDs81
DVDs llaves USB o imaacutegenes de arranque por red netboot
212 El porqueacute de crear un Sistema Live propio82
Debian es el Sistema Operativo Universal Debiantiene un Sis-83
tema Live para mostrar y representar el auteacutentico y verdaderoDebian con las siguientes ventajas fundamentales
bull Deberiacutea ser un subproyecto de Debian84
bull Refleja el estado (actual) de una versioacuten Debian85
bull Se ejecuta en tantas arquitecturas como es posible86
bull Consiste solamente de paquetes Debian sin modificar87
bull No contiene ninguacuten paquete que no forma parte del archivo88
de Debian
bull Utiliza kernels que provienen de Debian inalterados sin89
parches adicionales
22 Filosofiacutea 90
221 Solamente paquetes sin modificacioacuten alguna de91
Debian laquomainraquo
Solamente se utilizaraacuten paquetes del repositorio de Debian de92
la seccioacuten laquomainraquo La seccioacuten non-free no es parte de Debiany por lo tanto no puede ser utilizada de ninguna de las maneraspara generar imaacutegenes de sistema oficiales
No se modificaraacute ninguacuten paquete Siempre que se necesite93
modificar algo se haraacute en coordinacioacuten con el correspondientemantenedor del paquete en Debian
Como una excepcioacuten 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 seraacuten actualizados en Debian de manera regu-lar
222 Sin configuracioacuten especial para el Sistema Live 95
En esta fase no se crearaacute o instalaraacuten configuraciones alter- 96
nativas o de ejemplo Se utilizaraacuten todos los paquetes con suconfiguracioacuten por defecto tal y como quedan despueacutes de unainstalacioacuten normal de Debian
Siempre quese necesite unaconfiguracioacuten diferente a la de por 97
defecto se haraacute en coodinacioacuten conel mantenedor del paquete
Debian correspondiente
En lb config se emplea un sistema para configurar paque- 98
tes que utiliza debconf (mediante el uso de la opcioacuten --preseedFICHERO) permitiendo la personalizacioacuten de la configuracioacutende los paquetes que van a ser instalados en la imagen DebianLive quese genere pero las imaacutegenes Live oficiales solamenteutilizaraacuten la configuracioacuten por defecto
Excepcioacuten Es esencial realizar unos pocos cambios para que 99
un sistema pueda funcionar en vivo (como por ejemplo con-
figurar pam para permitir contrasentildeas vacias) Estos cambiosesenciales se deben mantener tan pequentildeos como sea posibley deberaacuten ser mezclados en el repositorio Debian siempre queexista la posibilidad
23 Contacto 100
bull Lista de correo El sistema de contacto principal del 101
proyecto es la lista de correo en lsaquohttplistsdebianorg
5
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1155
Manual Debian Live
debian-liversaquo Se puede enviar un correo a la lista di-rectamente dirigieacutendolo a lsaquodebian-livelistsdebianorgrsaquoLos archivos histoacutericos de la lista estaacuten disponibles enlsaquohttplistsdebianorgdebian-live rsaquo
bull IRC Un nuacutemero importante de usuarios y desarrol-102
ladores suele estar presente en el canal debian-live deircdebianorg (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
bull BTS El sistema de gestioacuten de errores de Debian (BTS) con-103
tiene detalles de problemas enviados por usuarios y desar-rolladores Los errores estaacuten numerados y se mantiene unregistro hasta que son reparados Si se desea maacutes informa-cioacuten ver lsaquoInformes de erroresrsaquo
bull Wiki El wiki de Debian Live en lsaquohttpwikidebianorg104
DebianLiversaquo es el lugar donde obtener informacioacuten discutirsobre la aplicacioacuten de tecnologiacuteas y de documentar her-ramientas para los sistemas Debian Live que vayan maacutesallaacute del aacutembito de este documento
Usuario105
3 Instalacioacuten106
31 Requisitos107
Para crear las imaacutegenes de Debian Live son necesarios los108
siguientes requisitos
bull Acceso de superusuario (root)109
bull Una versioacuten actualizada de live-build 110
bull Un inteacuterprete de comandos compatible con POSIX como por111
ejemplo bash o dash
bull debootstrap o cdebootstrap 112
bull Linux 26x 113
Tener en cuenta que no es necesario el uso de Debian o 114
una distribucioacuten derivada de Debian - live-build funcionaraacute
en casi cualquier distribucioacuten que cumpla con los requisitosanteriores
32 Instalacioacuten de live-build 115
Se puede instalar live-build de varias maneras difer- 116
entes
bull Desde el repositorio Debian 117
bull A partir del coacutedigo fuente 118
bull Desde laquoinstantaacuteneasraquo 119
Si se usa Debian el meacutetodo recomendado es instalar live-build 120
a traveacutes del repositorio de Debian
321 Desde el repositorio Debian 121
Simplemente instalar live-build como cualquier otro pa- 122
quete
apt-get install live-build 123
o 124
aptitude install live-build 125
322 A partir del coacutedigo fuente 126
live-build se desarrolla utilizando el sistema de control de ver- 127
siones Git En los sistemas basados en Debian se encuentrael paquete git Para ver el uacuteltimo coacutedigo ejecutar
6
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 855
Manual Debian Live
bull Marco Amadori34
bull Mathieu Geli35
bull Matthias Kirschner36
bull Richard Nelson37
bull Trent W Buck38
14 Coacutemo contribuir en este documento39
Este manual se ha creado como un proyecto comunitario y40
cualquier propuesta para su mejora u otras contribuciones sonsiempre bienvenidas La mejor forma de hacer una contribu-cioacuten es enviarla a la lista de correo Ver la seccioacuten lsaquoContactorsaquo
para maacutes informacioacutenCuando se enviacutea una contribucioacuten se debe identificar clara-41
mente su copyright e incluir la declaracioacuten de licencia Se hacenotar que para ser aceptada una contribucioacuten debe ser licen-ciada bajo la misma licencia que el resto del documento estoes GPL versioacuten 3 o posterior
Los originales de este manual se mantienen utilizando el sis-42
tema de control de versiones Git Se puede obtener la copiamaacutes actualizada ejecutando la siguiente orden
$ git clone43
gitlivedebiannetgitlive-manualgit
Antes de enviar unacontribucioacuten se deberiacutea realizar unavisual-44
izacioacuten del trabajo realizado Para ello asegurarse de tener in-stalados los paquetes necesarios para la construccioacuten del live-manual ejecutando la siguiente orden
apt-get install make po4a sisu-complete45
libnokogiri-ruby
Se puede realizar la construccioacuten del manual posicionaacutendose46
en el directorio de nivel superior o sea en el directorio clonadomediante Git y ejecutando la siguiente orden
$ make build 47
Ya que la construccioacuten del manual para todos los idiomas so- 48
portados tarda un rato puede ser mejor crear un solo idiomaEsto puede realizarse ejecutando la siguiente orden
$ make build LANGUAGES=en 49
141 Aplicacioacuten de parches 50
Cualquiera puede hacer una entrega en el repositorio Sin em- 51
bargo a la hora de hacer grandes cambios es conveniente en-viarlos a la lista de correopara discutirlos primero Para realizaruna entrega al repositorio se debe seguir el siguiente proced-
imiento
bull Obtener la clave puacuteblica de entrega 52
$ mkdir -p ~sshidentityd 53
$ wget httplivedebiannetotherkeysgitlivedebiannet
-O ~sshidentitydgitlivedebiannet
$ wget httplivedebiannetotherkeysgitlivedebiannetpub
-O ~sshidentitydgitlivedebiannetpub
$ chmod 0600
~sshidentitydgitlivedebiannetbull Antildeadir la siguiente seccioacuten en el fichero de configuracioacuten de 54
openssh-client
$ cat gtgt ~sshconfig ltlt EOF 55
Host livedebiannetHostname livedebiannetUser gitIdentityFile
~sshidentitydgitlivedebiannetEOF
3
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 955
Manual Debian Live
bull Obtener un clon del manual mediante git utilizando ssh56
$ git clone gitlivedebiannetlive-manualgit57
$ cd live-manual ampamp git checkout debian-next
bull Asegurarse de enviar los cambios a la rama debian-next y no58
a la rama Debian
bull Despueacutes de editar los ficheros que se deseen en manual-59
en ejecutar laquomake commitraquo en el directorio superior parasanear los ficheros y actualizar los ficheros de traducciones
$ make commit60
bull Una vez se ha saneado se deberaacuten entregar los cambios61
Se deberaacute escribir un mensaje de entrega que consis-tiraacute en una o varias frases en ingles comenzando conuna letra mayuacutescula y acabando con un punto final Es
habitual comenzar estas frases con la forma `FixingAdding-RemovingCorrectingTranslating por ejemplo
$ git commit -a -m Adding a section on applying62
patches
bull Para finalizar se realizaraacute la entrega al servidor utilizando el63
siguiente comando
$ git push64
142 Traducciones65
Para enviar una traduccioacuten para un nuevo idioma se deben66
seguir los siguientes pasos
bull Traducirlos ficheros about_manualssipot about_projectssipot67
e indexhtmlinpot al idioma deseado con cualquier editor(como puede ser poedit) y enviarlos a la lista de correosUna vez hayan sido revisados el idioma seraacute antildeadido almanual (antildeadiendo los ficheros po) y se activaraacute en elautobuild
bull Una vez que el nuevo idioma haya sido antildeadido se puede68
comenzar la traduccioacuten de todos los ficheros po exisitentesen manualpo de manera aleatoria
bull No se debe olvidar la ejecucioacuten del comando make commit 69
para 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
21 Motivacioacuten 71
211 Desventajas en los sistemas Live actuales 72
Cuando se comenzoacute el trabajo en Debian Live ya existiacutean var- 73
ios Sistemas Live disponibles basados en la distribucioacuten De-bian y todos hacian un buen trabajo Desde la persectiva deDebian la mayoriacutea de estos sistemas teniacutean alguna de estasdesventajas
bull No eran proyectos de Debian y por lo tanto no contaban con 74
soporte desde dentro de Debian
bull Mezclaban paquetes de diferentes versiones por ejemplo 75
testing y unstable
bull Solamente soportaban la arquitectura i386 76
bull Modificaban el comportamiento yo la apariencia de los pa- 77
quetes eliminando contenido para reducirlos de tamantildeo
bull Incluiacutean paquetes de fuera del archivo de Debian 78
bull Utilizaban kernels personalizados con parches que no eran 79
parte de Debian
bull Eran demasiado lentos debido a su gran tamantildeo para ser 80
utilizados como sistemas de rescate
4
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1055
Manual Debian Live
bull No disponiacutean de diferentes medios de instalacioacuten como CDs81
DVDs llaves USB o imaacutegenes de arranque por red netboot
212 El porqueacute de crear un Sistema Live propio82
Debian es el Sistema Operativo Universal Debiantiene un Sis-83
tema Live para mostrar y representar el auteacutentico y verdaderoDebian con las siguientes ventajas fundamentales
bull Deberiacutea ser un subproyecto de Debian84
bull Refleja el estado (actual) de una versioacuten Debian85
bull Se ejecuta en tantas arquitecturas como es posible86
bull Consiste solamente de paquetes Debian sin modificar87
bull No contiene ninguacuten paquete que no forma parte del archivo88
de Debian
bull Utiliza kernels que provienen de Debian inalterados sin89
parches adicionales
22 Filosofiacutea 90
221 Solamente paquetes sin modificacioacuten alguna de91
Debian laquomainraquo
Solamente se utilizaraacuten paquetes del repositorio de Debian de92
la seccioacuten laquomainraquo La seccioacuten non-free no es parte de Debiany por lo tanto no puede ser utilizada de ninguna de las maneraspara generar imaacutegenes de sistema oficiales
No se modificaraacute ninguacuten paquete Siempre que se necesite93
modificar algo se haraacute en coordinacioacuten con el correspondientemantenedor del paquete en Debian
Como una excepcioacuten 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 seraacuten actualizados en Debian de manera regu-lar
222 Sin configuracioacuten especial para el Sistema Live 95
En esta fase no se crearaacute o instalaraacuten configuraciones alter- 96
nativas o de ejemplo Se utilizaraacuten todos los paquetes con suconfiguracioacuten por defecto tal y como quedan despueacutes de unainstalacioacuten normal de Debian
Siempre quese necesite unaconfiguracioacuten diferente a la de por 97
defecto se haraacute en coodinacioacuten conel mantenedor del paquete
Debian correspondiente
En lb config se emplea un sistema para configurar paque- 98
tes que utiliza debconf (mediante el uso de la opcioacuten --preseedFICHERO) permitiendo la personalizacioacuten de la configuracioacutende los paquetes que van a ser instalados en la imagen DebianLive quese genere pero las imaacutegenes Live oficiales solamenteutilizaraacuten la configuracioacuten por defecto
Excepcioacuten Es esencial realizar unos pocos cambios para que 99
un sistema pueda funcionar en vivo (como por ejemplo con-
figurar pam para permitir contrasentildeas vacias) Estos cambiosesenciales se deben mantener tan pequentildeos como sea posibley deberaacuten ser mezclados en el repositorio Debian siempre queexista la posibilidad
23 Contacto 100
bull Lista de correo El sistema de contacto principal del 101
proyecto es la lista de correo en lsaquohttplistsdebianorg
5
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1155
Manual Debian Live
debian-liversaquo Se puede enviar un correo a la lista di-rectamente dirigieacutendolo a lsaquodebian-livelistsdebianorgrsaquoLos archivos histoacutericos de la lista estaacuten disponibles enlsaquohttplistsdebianorgdebian-live rsaquo
bull IRC Un nuacutemero importante de usuarios y desarrol-102
ladores suele estar presente en el canal debian-live deircdebianorg (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
bull BTS El sistema de gestioacuten de errores de Debian (BTS) con-103
tiene detalles de problemas enviados por usuarios y desar-rolladores Los errores estaacuten numerados y se mantiene unregistro hasta que son reparados Si se desea maacutes informa-cioacuten ver lsaquoInformes de erroresrsaquo
bull Wiki El wiki de Debian Live en lsaquohttpwikidebianorg104
DebianLiversaquo es el lugar donde obtener informacioacuten discutirsobre la aplicacioacuten de tecnologiacuteas y de documentar her-ramientas para los sistemas Debian Live que vayan maacutesallaacute del aacutembito de este documento
Usuario105
3 Instalacioacuten106
31 Requisitos107
Para crear las imaacutegenes de Debian Live son necesarios los108
siguientes requisitos
bull Acceso de superusuario (root)109
bull Una versioacuten actualizada de live-build 110
bull Un inteacuterprete de comandos compatible con POSIX como por111
ejemplo bash o dash
bull debootstrap o cdebootstrap 112
bull Linux 26x 113
Tener en cuenta que no es necesario el uso de Debian o 114
una distribucioacuten derivada de Debian - live-build funcionaraacute
en casi cualquier distribucioacuten que cumpla con los requisitosanteriores
32 Instalacioacuten de live-build 115
Se puede instalar live-build de varias maneras difer- 116
entes
bull Desde el repositorio Debian 117
bull A partir del coacutedigo fuente 118
bull Desde laquoinstantaacuteneasraquo 119
Si se usa Debian el meacutetodo recomendado es instalar live-build 120
a traveacutes del repositorio de Debian
321 Desde el repositorio Debian 121
Simplemente instalar live-build como cualquier otro pa- 122
quete
apt-get install live-build 123
o 124
aptitude install live-build 125
322 A partir del coacutedigo fuente 126
live-build se desarrolla utilizando el sistema de control de ver- 127
siones Git En los sistemas basados en Debian se encuentrael paquete git Para ver el uacuteltimo coacutedigo ejecutar
6
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 955
Manual Debian Live
bull Obtener un clon del manual mediante git utilizando ssh56
$ git clone gitlivedebiannetlive-manualgit57
$ cd live-manual ampamp git checkout debian-next
bull Asegurarse de enviar los cambios a la rama debian-next y no58
a la rama Debian
bull Despueacutes de editar los ficheros que se deseen en manual-59
en ejecutar laquomake commitraquo en el directorio superior parasanear los ficheros y actualizar los ficheros de traducciones
$ make commit60
bull Una vez se ha saneado se deberaacuten entregar los cambios61
Se deberaacute escribir un mensaje de entrega que consis-tiraacute en una o varias frases en ingles comenzando conuna letra mayuacutescula y acabando con un punto final Es
habitual comenzar estas frases con la forma `FixingAdding-RemovingCorrectingTranslating por ejemplo
$ git commit -a -m Adding a section on applying62
patches
bull Para finalizar se realizaraacute la entrega al servidor utilizando el63
siguiente comando
$ git push64
142 Traducciones65
Para enviar una traduccioacuten para un nuevo idioma se deben66
seguir los siguientes pasos
bull Traducirlos ficheros about_manualssipot about_projectssipot67
e indexhtmlinpot al idioma deseado con cualquier editor(como puede ser poedit) y enviarlos a la lista de correosUna vez hayan sido revisados el idioma seraacute antildeadido almanual (antildeadiendo los ficheros po) y se activaraacute en elautobuild
bull Una vez que el nuevo idioma haya sido antildeadido se puede68
comenzar la traduccioacuten de todos los ficheros po exisitentesen manualpo de manera aleatoria
bull No se debe olvidar la ejecucioacuten del comando make commit 69
para 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
21 Motivacioacuten 71
211 Desventajas en los sistemas Live actuales 72
Cuando se comenzoacute el trabajo en Debian Live ya existiacutean var- 73
ios Sistemas Live disponibles basados en la distribucioacuten De-bian y todos hacian un buen trabajo Desde la persectiva deDebian la mayoriacutea de estos sistemas teniacutean alguna de estasdesventajas
bull No eran proyectos de Debian y por lo tanto no contaban con 74
soporte desde dentro de Debian
bull Mezclaban paquetes de diferentes versiones por ejemplo 75
testing y unstable
bull Solamente soportaban la arquitectura i386 76
bull Modificaban el comportamiento yo la apariencia de los pa- 77
quetes eliminando contenido para reducirlos de tamantildeo
bull Incluiacutean paquetes de fuera del archivo de Debian 78
bull Utilizaban kernels personalizados con parches que no eran 79
parte de Debian
bull Eran demasiado lentos debido a su gran tamantildeo para ser 80
utilizados como sistemas de rescate
4
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1055
Manual Debian Live
bull No disponiacutean de diferentes medios de instalacioacuten como CDs81
DVDs llaves USB o imaacutegenes de arranque por red netboot
212 El porqueacute de crear un Sistema Live propio82
Debian es el Sistema Operativo Universal Debiantiene un Sis-83
tema Live para mostrar y representar el auteacutentico y verdaderoDebian con las siguientes ventajas fundamentales
bull Deberiacutea ser un subproyecto de Debian84
bull Refleja el estado (actual) de una versioacuten Debian85
bull Se ejecuta en tantas arquitecturas como es posible86
bull Consiste solamente de paquetes Debian sin modificar87
bull No contiene ninguacuten paquete que no forma parte del archivo88
de Debian
bull Utiliza kernels que provienen de Debian inalterados sin89
parches adicionales
22 Filosofiacutea 90
221 Solamente paquetes sin modificacioacuten alguna de91
Debian laquomainraquo
Solamente se utilizaraacuten paquetes del repositorio de Debian de92
la seccioacuten laquomainraquo La seccioacuten non-free no es parte de Debiany por lo tanto no puede ser utilizada de ninguna de las maneraspara generar imaacutegenes de sistema oficiales
No se modificaraacute ninguacuten paquete Siempre que se necesite93
modificar algo se haraacute en coordinacioacuten con el correspondientemantenedor del paquete en Debian
Como una excepcioacuten 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 seraacuten actualizados en Debian de manera regu-lar
222 Sin configuracioacuten especial para el Sistema Live 95
En esta fase no se crearaacute o instalaraacuten configuraciones alter- 96
nativas o de ejemplo Se utilizaraacuten todos los paquetes con suconfiguracioacuten por defecto tal y como quedan despueacutes de unainstalacioacuten normal de Debian
Siempre quese necesite unaconfiguracioacuten diferente a la de por 97
defecto se haraacute en coodinacioacuten conel mantenedor del paquete
Debian correspondiente
En lb config se emplea un sistema para configurar paque- 98
tes que utiliza debconf (mediante el uso de la opcioacuten --preseedFICHERO) permitiendo la personalizacioacuten de la configuracioacutende los paquetes que van a ser instalados en la imagen DebianLive quese genere pero las imaacutegenes Live oficiales solamenteutilizaraacuten la configuracioacuten por defecto
Excepcioacuten Es esencial realizar unos pocos cambios para que 99
un sistema pueda funcionar en vivo (como por ejemplo con-
figurar pam para permitir contrasentildeas vacias) Estos cambiosesenciales se deben mantener tan pequentildeos como sea posibley deberaacuten ser mezclados en el repositorio Debian siempre queexista la posibilidad
23 Contacto 100
bull Lista de correo El sistema de contacto principal del 101
proyecto es la lista de correo en lsaquohttplistsdebianorg
5
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1155
Manual Debian Live
debian-liversaquo Se puede enviar un correo a la lista di-rectamente dirigieacutendolo a lsaquodebian-livelistsdebianorgrsaquoLos archivos histoacutericos de la lista estaacuten disponibles enlsaquohttplistsdebianorgdebian-live rsaquo
bull IRC Un nuacutemero importante de usuarios y desarrol-102
ladores suele estar presente en el canal debian-live deircdebianorg (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
bull BTS El sistema de gestioacuten de errores de Debian (BTS) con-103
tiene detalles de problemas enviados por usuarios y desar-rolladores Los errores estaacuten numerados y se mantiene unregistro hasta que son reparados Si se desea maacutes informa-cioacuten ver lsaquoInformes de erroresrsaquo
bull Wiki El wiki de Debian Live en lsaquohttpwikidebianorg104
DebianLiversaquo es el lugar donde obtener informacioacuten discutirsobre la aplicacioacuten de tecnologiacuteas y de documentar her-ramientas para los sistemas Debian Live que vayan maacutesallaacute del aacutembito de este documento
Usuario105
3 Instalacioacuten106
31 Requisitos107
Para crear las imaacutegenes de Debian Live son necesarios los108
siguientes requisitos
bull Acceso de superusuario (root)109
bull Una versioacuten actualizada de live-build 110
bull Un inteacuterprete de comandos compatible con POSIX como por111
ejemplo bash o dash
bull debootstrap o cdebootstrap 112
bull Linux 26x 113
Tener en cuenta que no es necesario el uso de Debian o 114
una distribucioacuten derivada de Debian - live-build funcionaraacute
en casi cualquier distribucioacuten que cumpla con los requisitosanteriores
32 Instalacioacuten de live-build 115
Se puede instalar live-build de varias maneras difer- 116
entes
bull Desde el repositorio Debian 117
bull A partir del coacutedigo fuente 118
bull Desde laquoinstantaacuteneasraquo 119
Si se usa Debian el meacutetodo recomendado es instalar live-build 120
a traveacutes del repositorio de Debian
321 Desde el repositorio Debian 121
Simplemente instalar live-build como cualquier otro pa- 122
quete
apt-get install live-build 123
o 124
aptitude install live-build 125
322 A partir del coacutedigo fuente 126
live-build se desarrolla utilizando el sistema de control de ver- 127
siones Git En los sistemas basados en Debian se encuentrael paquete git Para ver el uacuteltimo coacutedigo ejecutar
6
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1055
Manual Debian Live
bull No disponiacutean de diferentes medios de instalacioacuten como CDs81
DVDs llaves USB o imaacutegenes de arranque por red netboot
212 El porqueacute de crear un Sistema Live propio82
Debian es el Sistema Operativo Universal Debiantiene un Sis-83
tema Live para mostrar y representar el auteacutentico y verdaderoDebian con las siguientes ventajas fundamentales
bull Deberiacutea ser un subproyecto de Debian84
bull Refleja el estado (actual) de una versioacuten Debian85
bull Se ejecuta en tantas arquitecturas como es posible86
bull Consiste solamente de paquetes Debian sin modificar87
bull No contiene ninguacuten paquete que no forma parte del archivo88
de Debian
bull Utiliza kernels que provienen de Debian inalterados sin89
parches adicionales
22 Filosofiacutea 90
221 Solamente paquetes sin modificacioacuten alguna de91
Debian laquomainraquo
Solamente se utilizaraacuten paquetes del repositorio de Debian de92
la seccioacuten laquomainraquo La seccioacuten non-free no es parte de Debiany por lo tanto no puede ser utilizada de ninguna de las maneraspara generar imaacutegenes de sistema oficiales
No se modificaraacute ninguacuten paquete Siempre que se necesite93
modificar algo se haraacute en coordinacioacuten con el correspondientemantenedor del paquete en Debian
Como una excepcioacuten 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 seraacuten actualizados en Debian de manera regu-lar
222 Sin configuracioacuten especial para el Sistema Live 95
En esta fase no se crearaacute o instalaraacuten configuraciones alter- 96
nativas o de ejemplo Se utilizaraacuten todos los paquetes con suconfiguracioacuten por defecto tal y como quedan despueacutes de unainstalacioacuten normal de Debian
Siempre quese necesite unaconfiguracioacuten diferente a la de por 97
defecto se haraacute en coodinacioacuten conel mantenedor del paquete
Debian correspondiente
En lb config se emplea un sistema para configurar paque- 98
tes que utiliza debconf (mediante el uso de la opcioacuten --preseedFICHERO) permitiendo la personalizacioacuten de la configuracioacutende los paquetes que van a ser instalados en la imagen DebianLive quese genere pero las imaacutegenes Live oficiales solamenteutilizaraacuten la configuracioacuten por defecto
Excepcioacuten Es esencial realizar unos pocos cambios para que 99
un sistema pueda funcionar en vivo (como por ejemplo con-
figurar pam para permitir contrasentildeas vacias) Estos cambiosesenciales se deben mantener tan pequentildeos como sea posibley deberaacuten ser mezclados en el repositorio Debian siempre queexista la posibilidad
23 Contacto 100
bull Lista de correo El sistema de contacto principal del 101
proyecto es la lista de correo en lsaquohttplistsdebianorg
5
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1155
Manual Debian Live
debian-liversaquo Se puede enviar un correo a la lista di-rectamente dirigieacutendolo a lsaquodebian-livelistsdebianorgrsaquoLos archivos histoacutericos de la lista estaacuten disponibles enlsaquohttplistsdebianorgdebian-live rsaquo
bull IRC Un nuacutemero importante de usuarios y desarrol-102
ladores suele estar presente en el canal debian-live deircdebianorg (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
bull BTS El sistema de gestioacuten de errores de Debian (BTS) con-103
tiene detalles de problemas enviados por usuarios y desar-rolladores Los errores estaacuten numerados y se mantiene unregistro hasta que son reparados Si se desea maacutes informa-cioacuten ver lsaquoInformes de erroresrsaquo
bull Wiki El wiki de Debian Live en lsaquohttpwikidebianorg104
DebianLiversaquo es el lugar donde obtener informacioacuten discutirsobre la aplicacioacuten de tecnologiacuteas y de documentar her-ramientas para los sistemas Debian Live que vayan maacutesallaacute del aacutembito de este documento
Usuario105
3 Instalacioacuten106
31 Requisitos107
Para crear las imaacutegenes de Debian Live son necesarios los108
siguientes requisitos
bull Acceso de superusuario (root)109
bull Una versioacuten actualizada de live-build 110
bull Un inteacuterprete de comandos compatible con POSIX como por111
ejemplo bash o dash
bull debootstrap o cdebootstrap 112
bull Linux 26x 113
Tener en cuenta que no es necesario el uso de Debian o 114
una distribucioacuten derivada de Debian - live-build funcionaraacute
en casi cualquier distribucioacuten que cumpla con los requisitosanteriores
32 Instalacioacuten de live-build 115
Se puede instalar live-build de varias maneras difer- 116
entes
bull Desde el repositorio Debian 117
bull A partir del coacutedigo fuente 118
bull Desde laquoinstantaacuteneasraquo 119
Si se usa Debian el meacutetodo recomendado es instalar live-build 120
a traveacutes del repositorio de Debian
321 Desde el repositorio Debian 121
Simplemente instalar live-build como cualquier otro pa- 122
quete
apt-get install live-build 123
o 124
aptitude install live-build 125
322 A partir del coacutedigo fuente 126
live-build se desarrolla utilizando el sistema de control de ver- 127
siones Git En los sistemas basados en Debian se encuentrael paquete git Para ver el uacuteltimo coacutedigo ejecutar
6
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1155
Manual Debian Live
debian-liversaquo Se puede enviar un correo a la lista di-rectamente dirigieacutendolo a lsaquodebian-livelistsdebianorgrsaquoLos archivos histoacutericos de la lista estaacuten disponibles enlsaquohttplistsdebianorgdebian-live rsaquo
bull IRC Un nuacutemero importante de usuarios y desarrol-102
ladores suele estar presente en el canal debian-live deircdebianorg (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
bull BTS El sistema de gestioacuten de errores de Debian (BTS) con-103
tiene detalles de problemas enviados por usuarios y desar-rolladores Los errores estaacuten numerados y se mantiene unregistro hasta que son reparados Si se desea maacutes informa-cioacuten ver lsaquoInformes de erroresrsaquo
bull Wiki El wiki de Debian Live en lsaquohttpwikidebianorg104
DebianLiversaquo es el lugar donde obtener informacioacuten discutirsobre la aplicacioacuten de tecnologiacuteas y de documentar her-ramientas para los sistemas Debian Live que vayan maacutesallaacute del aacutembito de este documento
Usuario105
3 Instalacioacuten106
31 Requisitos107
Para crear las imaacutegenes de Debian Live son necesarios los108
siguientes requisitos
bull Acceso de superusuario (root)109
bull Una versioacuten actualizada de live-build 110
bull Un inteacuterprete de comandos compatible con POSIX como por111
ejemplo bash o dash
bull debootstrap o cdebootstrap 112
bull Linux 26x 113
Tener en cuenta que no es necesario el uso de Debian o 114
una distribucioacuten derivada de Debian - live-build funcionaraacute
en casi cualquier distribucioacuten que cumpla con los requisitosanteriores
32 Instalacioacuten de live-build 115
Se puede instalar live-build de varias maneras difer- 116
entes
bull Desde el repositorio Debian 117
bull A partir del coacutedigo fuente 118
bull Desde laquoinstantaacuteneasraquo 119
Si se usa Debian el meacutetodo recomendado es instalar live-build 120
a traveacutes del repositorio de Debian
321 Desde el repositorio Debian 121
Simplemente instalar live-build como cualquier otro pa- 122
quete
apt-get install live-build 123
o 124
aptitude install live-build 125
322 A partir del coacutedigo fuente 126
live-build se desarrolla utilizando el sistema de control de ver- 127
siones Git En los sistemas basados en Debian se encuentrael paquete git Para ver el uacuteltimo coacutedigo ejecutar
6
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1255
Manual Debian Live
$ git clone 128
gitlivedebiannetgitlive-buildgit
Se puede crear e instalar el paquete Debian ejecutando129
$ cd live-build130
$ dpkg-buildpackage -rfakeroot -b -uc -us$ cd
Si se desea se podraacute instalar cualquiera de los paquetes deb131
recien creados con el procedimiento anterior pej
dpkg -i live-build_208-1_alldeb132
Tambieacuten se puede instalar live-build directamente en el sistema133
ejecutando
make install134
y desinstalarlo con135
make uninstall136
323 A partir de laquoinstantaacuteneasraquo137
Si no se desea crear o instalar live-build a partir del coacutedigo138
fuente se puede usar instantaacuteneas Estas se generan au-tomaacuteticamente a partir de la uacuteltima versioacuten de Git y estaacutendisponibles en lsaquohttplivedebiannetdebianrsaquo
33 live-boot y live-config139
Nota No es necesario instalar live-boot o live-config en el140
sistema para crear sistemas personalizados de Debian LiveSin embargo eso no causaraacute ninguacuten dantildeo y es uacutetil por motivosde referencia Si uacutenicamente se desea tener la documentacioacutenes posible instalar los paquetes live-boot -doc y live-config-docde forma independiente
331 Desde el repositorio Debian141
Tanto live-boot como live-config estaacuten disponibles en el repos- 142
itorio Debian siguiendo la lsaquoInstalacioacuten de live-buildrsaquo
332 A partir del coacutedigo fuente 143
Para utilizar el uacuteltimo coacutedigo fuente a partir de git se puede 144
seguir el proceso siguiente Asegurarse de estar familiarizadocon los teacuterminos mencionados en lsaquoTeacuterminosrsaquo
bull Comprobar el coacutedigo fuente de live-boot y live-config 145
$ git clone 146
gitlivedebiannetgitlive-bootgit$ git clone
gitlivedebiannetgitlive-configgitSi se desea generar estos paquetes a partir del coacutedigo fuente 147
se puede consultar las paacuteginas del manual para maacutes detallessobre la personalizacioacuten de live-boot y live-config
bull Creacioacuten de los paquetes deb de live-boot y live-config 148
Se debe crear ya sea en la distribucioacuten de destino o en un 149
entorno 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 150
si se necesita crear live-boot para una distribucioacuten de des-tino diferente del sistema de creacioacuten Por ejemplo para lasimaacutegenes en vivo de Squeeze crear live-boot en un en-torno chroot Si la distribucioacuten de destino coincide con la dis-tribucioacuten actual se puede crear directamente sobre el sistemade creacioacuten con dpkg-buildpackage (proporcionada por el pa-quete dpkg-dev )
$ cd live-boot 151
7
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1355
Manual Debian Live
$ dpkg-buildpackage -b -uc -us$ cd live-config$ dpkg-buildpackage -b -uc -us
bull Utilizar todos los ficheros deb generados152
Como live-boot y live-config son instalados por el sistema live-153
build la instalacioacuten de estos paquetes en el sistema anfitrioacutenno es suficiente Se deben tratar los archivos deb genera-dos exaacutectamente igual que cualquier otro paquete personal-izado Veacutease lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquopara maacutes informacioacuten Se debe prestar especial atencioacuten a loslsaquoRepositorios adicionalesrsaquo
333 A partir de laquoinstantaacuteneasraquo154
Se puede dejar que live-build utilice automaacuteticamente las155
uacuteltimas instantaacuteneas de live-boot y live-config mediante laconfiguracioacuten de repoacutesitorios de terceros en el directoriode configuracioacuten de live-build Suponiendo que ya se hayacreado un aacuterbol de configuracioacuten en el directorio actual con lbconfig
$ lb config --archives livedebiannet156
4 Conceptos baacutesicos157
Este capiacutetulo contiene una breve descripcioacuten del proceso de158
creacioacuten de las imaacutegenes en vivo y lasinstrucciones para el usode los tres tipos de imaacutegenes maacutes utilizadas El tipo de imagenmaacutes versaacutetil iso-hybrid se puede utilizar en una maacutequina vir-tual en medios oacutepticos u otros dispositivo de almacenamientoUSB En ciertos casos especiales como para el uso de lapersistencia (laquopersistenceraquo N del T) las imaacutegenes usb-hddpueden ser las maacutes adecuadas para dispositivos USB El capiacute-tulo termina con instrucciones para crear y usar una imagen
de tipo red que es un poco maacutes complicado debido a la con-figuracioacuten necesaria en el servidor Es un tema ligeramenteavanzado para cualquierpersona queno esteacute familiarizada conel arranque en red pero se incluye aquiacute porque una vez quese realiza la instalacioacuten es una forma muy conveniente para
probar y desplegar imaacutegenes de arranque en red local sin lamolestia de tratar con los dispositivos de almacenamiento dela imagen
A lo largo de todo el capiacutetulo se hace a menudo referencia 159
al nombre de las imaacutegenes producidas por defecto por live-
build Si se descarga una imagen ya creada el nombre puedevariar
41 iquestQueacute es un sistema en vivo 160
Por lo general un sistema en vivo se refiere a un sistema oper- 161
ativo que arranca en un equipodesde un medio extraiacuteble comoun CD-ROM dispositivo USB o desde una red listo para usarsin ninguacuten tipo de instalacioacuten en la unidad de costumbre conconfiguracioacuten automaacutetica en tiempo de ejecucioacuten (Ver lsaquoTeacutermi-nosrsaquo)
Debian Live es un sistema Debian GNULinux creado para 162
una de las arquitecturas soportadas (actualmente amd64 i386powerpc y sparc) Se compone de las siguientes partes
bull Imaacutegen del kernel de Linux normalmente llamada 163
vmlinuz
bull Imagen del Disco RAM inicial (initrd) Un Disco RAM con- 164
figurado para el arranque de Linux que incluya los moacutedulosposiblemente necesarios para montar la imagen del sistemay algunos scripts para ponerlo en marcha
bull Imagen del sistema La imagendel sistema de ficheros raiz 165
Por lo general se utiliza un sistema de ficheros comprimido
8
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1455
Manual Debian Live
SquashFS para reducir al miacutenimo el tamantildeo de la imagen deDebian Live Hay que tener en cuenta que es de soacutelo lecturaPor lo tanto durante el arranque del sistema Debian Live seutiliza un disco RAM y un mecanismo de laquounioacutenraquo que per-mite escribir ficheros en el sistema en funcionamiento Sin
embargo todas las modificaciones se perderaacuten al apagar elequipo a menos que se use de modo opcional la persistencia(ver lsaquoPersistenciarsaquo)
bull Gestor de arranque Una pequentildea pieza de coacutedigo166
disentildeada para arrancar desde el medio de almace-namiento escogido posiblemente mostrando un menuacute oun indicador de arranque para permitir la seleccioacuten deopcionesconfiguracioacuten Carga el kernel de Linux y su initrdpara funcionar con un sistema de ficheros asociado Se
pueden 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 particioacuten VFAT extlinux paraformatos ext234 y particiones btrfs pxelinux para arranquede red PXE GRUB para particiones ext234 etc
Se puede usar live-build para crear la imagen del sistema167
a partir de ciertas especificaciones incluir un kernel de
Linux 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)
42 Primeros pasos creacioacuten de una imagen ISO168
hiacutebrida
Independientemente del tipo de imagen cada vez se tendraacute169
que realizar los mismos pasos baacutesicos para construir una ima-gen Como primer ejemplo ejecutar la siguiente secuencia decomandos live-build para crear una imagen ISO hiacutebrida baacutesicaque contiene soacutelo el sistema estaacutendar de Debian sin Xorg Esadecuada para grabarla en un CD o DVD y tambieacuten para copi-
arla en un dispositivo USB
En primer lugar se ejecuta el comando lb config Esto crearaacute 170
una jerarquiacutea laquoconfigraquo en el directorio actual que seraacute usadapor otros comandos
$ lb config 171
Al no pasar ninguacuten paraacutemetro a lb config se indica que se 172
quiere utilizar todas las opciones por defecto VerlsaquoEl comandolb configrsaquo para maacutes detalles
Ahora que existe un jerarquiacutea laquoconfigraquo se puede crear la im- 173
agen con el comando lb build
lb build 174
Este proceso puede llevar un tiempo dependiendo de la veloci- 175
dad de la conexioacuten de red Cuando haya terminado deberiacuteahaber un fichero binary-hybridiso listo para ser usado en eldirectorio actual
43 Usar una imagen ISO hiacutebrida 176
Despueacutes de construir o descargar una imagen ISO hiacutebrida las 177
cuales se pueden obtener en lsaquohttpwwwdebianorgCDliversaquo elsiguiente paso habitual es preparar los medios de almacenami-eto ya sean medios oacutepticos CD-R(W) o DVD-R(W) o llavesUSB
431 Grabar una imagen ISO en un medio fiacutesico 178
Grabar una imagen ISO es faacutecil Simplemente instalar wodim y 179
9
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1555
Manual Debian Live
usarlo desde el inteacuterprete de comandos para grabar la imagenPor ejemplo
apt-get install wodim180
$ wodim binary-hybridiso
432 Copiar una imagen ISO hiacutebrida a un dispositivo181
USB
Las imaacutegenes ISO preparadas con el comando isohybrid182
igual que las imaacutegenes del tipo iso-hybrid producidas pordefecto pueden sencillamente copiarse a una llave USB condd o con un programa equivalente Conectar una llave USBcon un tamantildeo suficiente para la imagen y determinar queacute
dispositivo es (laquodeviceraquo N del T) al cual nos referiremosde ahora en adelante como $USBSTICK Este nombre delaquodispositivoraquo se refiere a la llave entera como por ejemplodevsdb y iexclNo a una particioacuten como devsdb1 Se puedeencontrar el nombre del dispositivo correcto mirando la salidade dmesg despueacutes de conectar la llave o mejor auacuten ejecutandols -l devdiskby-id
Cuando se esteacute seguro de tener el nombre del dispositivo cor-183
recto usar el comando dd para copiar la imagen a la llaveiexclEsto borraraacute de forma definitiva cualquier contenido pre-
vio en la llave$ dd if=binary-hybridiso of=$USBSTICK184
433 Arrancar los medios en vivo185
La primera vez que se arranque desde los medios de almace-186
namiento en vivo ya sea CD DVD llave USB o de arranqueen red PXE primero puede ser necesario alguacuten tipo de config-uracioacuten en la BIOS de la maacutequina Dado que las BIOS variacutean
mucho en sus caracteriacutesticas y combinaciones de teclas no sepuede entrar en el tema en profundidad aquiacute Algunas BIOSproporcionan una tecla para abrir un menuacute de dispositivos dearranque que es la manera maacutes faacutecil 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 menuacute de arranque Si sepulsa la tecla laquoenterraquo el sistema arrancaraacuteusando el modo pordefecto Live y las opciones predeterminadas Para obtenermaacutes informacioacuten acerca de las opciones de arranque ver laopcioacuten laquohelpraquo del menuacute y tambieacuten las paacuteginas del manual delive-boot y live-config que se encuentran en el sistema envivo
Suponiendo que se ha seleccionado Live y arrancado una im- 188
agen en vivo por defecto con escritorio graacutefico despueacutes deque los mensajes de arranque hayan pasado se habraacute inici-ado automaacuteticamente una sesioacuten como usuario user y se veraacuteel escritorio preparado para ser usado Si se ha arrancado unaimagen soacutelo con consola como por ejemplo las imaacutegenes pre-determinadas standard o rescue se habraacute iniciado automaacuteti-camente una sesioacuten como usuario user y se veraacute el cursor delinteacuterprete de comandos preparado para ser usado
44 Usar una maacutequina virtual para pruebas 189
Ejecutar las imaacutegenes en vivo en una maacutequina virtual (VM) 190
puede ser un gran ahorro de tiempo para su desarrollo Estono estaacute exento de advertencias
bull Para ejecutar unamaacutequina virtual se requiere tener suficiente 191
memoria RAM para el sistema operativo hueacutesped y el an-fitrioacuten y se recomienda una CPU con soporte de hardwarepara la virtualizacioacuten
bull Existen algunas limitaciones inherentes a la ejecucioacuten en una 192
10
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1655
Manual Debian Live
maacutequina virtual por ejemplo rendimiento de video pobre lalimitada gama de hardware emulado
bull Cuando se desarrolla para un hardware especiacutefico no hay193
sustituto mejor que el propio hardware
bull A veces hay errores que se refieren uacutenicamente a la ejecu-194
cioacuten en una maacutequina virtual En caso de duda probar laimagen directamente en el hardware
Siempre que se pueda trabajar dentro de estas limitaciones195
mirar que software VM hay disponible y elegir uno que sea ade-cuado seguacuten las necesidades
441 Probar una imagen ISO con QEMU196
La maacutequina virtual maacutes versaacutetil en Debian es QEMU Si el197procesador tiene soporte de hardware para virtualizacioacutenutilizar el paquete qemu-kvm en la descripcioacuten del paqueteqemu-kvm se enumera brevemente la lista de requisitos
En primer lugar instalar qemu-kvm si el procesador lo soporta198
Si no es asiacute instalar qemu en cuyo caso el nombre del pro-grama seraacute qemu en vez de kvm en los siguientes ejemplos Elpaquete qemu-utils tambieacuten es uacutetil para la creacioacuten de imaacute-genes virtuales de disco con qemu-img
apt-get install qemu-kvm qemu-utils199
Arrancar una imagen ISO es sencillo200
$ kvm -cdrom binary-hybridiso201
Consultar las paacuteginas del manual para maacutes detalles202
442 Probar una imagen ISO con virtualbox-ose203
Para probar una imagen ISO con virtualbox-ose204
apt-get install virtualbox-ose virtualbox-ose-dkms205
$ virtualbox
Crear una nueva maacutequina virtual cambiar la configuracioacuten de 206
almacenamiento para utilizar binary-hybridiso como dis-positivo CDDVD y arrancar la maacutequina
Nota Para probar los sistemas en vivo con soporte Xorg 207
en virtualbox-ose se puede incluir el paquete del driver deVirtualBox Xorg virtualbox-ose-guest-x11 en la configu-racioacuten de live-build De lo contrario la resolucioacuten se limita a800x600
$ echo virtualbox-ose-guest-x11 gtgt 208
configpackage-listsmylistchroot
45 Crear una imagen USBHDD 209
La siguiente secuencia de comandos crearaacute una imagen 210
USBHDD baacutesica que contendraacute soacutelo el sistema estaacutendarde Debian sin Xorg Es adecuada para el arranque desdedispositivos USB discos duros USB y otros dispositivos dealmacenamiento portaacutetil Normalmente se puede utilizar paraeste propoacutesito una imagen ISO hiacutebrida pero es posible quela BIOS no maneje adecuadamente las imaacutegenes hiacutebridasTambieacuten es interesante una imagen USBHDD si se deseautilizar el espacio restante en los medios de almacenamiento
para una particioacuten con persistencia
Nota si se ha creado una imagen ISO hiacutebrida con el ejemplo 211
anterior se tendraacute que limpiar el directorio de trabajo con elcomando lb clean (ver lsaquoEl comando lb cleanrsaquo)
lb clean --binary 212
Ejecutar el comando lb config como antes pero esta vez es- 213
pecificando el tipo de imagen USBHDD
$ lb config -b usb-hdd 214
11
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1755
Manual Debian Live
Crear ahora la imagen con el comando lb build 215
lb build216
Cuando termine el proceso de creacioacuten debe haber un fichero217
llamado binaryimg en el directorio actual
46 Utilizar una imaacutegen USBHDD218
La imagen binaria generada contiene una particioacuten VFAT y219
el gestor de arranque syslinux lista para ser copiada direc-tamente en un dispositivo USB Dado que utilizar una ima-gen USBHDD es igual a usar una imagen ISO hiacutebrida en unUSB seguir lasinstrucciones de lsaquoUsar unaimagen ISO hiacutebridarsaquocon la diferencia de usar el nombre binaryimg en lugar debinary-hybridiso
461 Probar una imaacutegen USBHDD con Qemu220
En primer lugar instalar QEMU como se describe maacutes arribaen221
lsaquoProbar una imaacutegen ISO con QEMUrsaquo A continuacioacuten ejecutarkvm o qemu seguacuten queacute versioacuten necesita el sistema anfitrioacuten yespecificando binaryimg como primer disco duro
$ kvm -hda binaryimg222
462 Usar el espacio libre en el dispositivo USB223
Si se desea usar el espacio libre despueacutes de haber instalado224
la imagen binaryimg en una llave USB se puede usar unprograma de particionado como gparted o parted para crearuna particioacuten nueva en el dispositivo La primera particioacuten seraacuteusada por el sistema Debian en vivo
gparted $USBSTICK225
Despueacutes de crear la particioacuten doacutende $PARTITION es el nom-226
brede la particioacuten porejemplo devsdb2 se tiene que crear unsistema de ficheros en eacutel Una opcioacuten posible seriacutea ext4
mkfsext4 $PARTITION 227
Nota Si se desea usar el espacio extra con Windows segun 228
parece ese sistema operativo no puede acceder normalmentea otra particioacuten maacutes que a la primera Se han comentado al-gunas soluciones a este problema en nuestra lsaquolista de correorsaquopero seguacuten parece no hay una solucioacuten faacutecil
Recordar Cada vezque se instale una nueva binaryimgen 229
el dispositivo todos los datos del dispositivo se perderaacuten
debido a que la tabla de particiones se sobrescribe con
el contenido de la imagen asiacute pues realizar primero una
copia de seguridad de la particioacuten para poder restaurarla
traacutes actualizar la imagen en vivo
47 Creacioacuten de una imagen de arranque en red 230
La siguiente secuencia de comandos crearaacute una imagen de 231
arranque en red baacutesica que contendraacute el sistema estaacutendar deDebiansin Xorg Se puede usar para el arranque en red
Nota si se ha seguido alguacuteno de los ejemplos anteriores se 232
tendraacute que limpiar el directorio de trabajo con el comando lbclean
lb clean --binary 233
Ejecutar el comando lb config de la siguiente manera para 234
configurar la imagen de arranque en red
$ lb config -b net --net-root-path srvdebian-live 235
--net-root-server 19216801
A diferencia de las imaacutegenes ISO y USBHDD el sistema 236
de arranque en red en siacute mismo no enviacutea la imagen delsistema de ficheros al cliente por eso los ficheros se debenenviar mediante NFS Las opciones --net-root-path y
12
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1855
Manual Debian Live
--net-root-server especifican la ubicacioacuten y el servidorrespectivamente 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
Crear ahora la imagen con el comando lb build237
lb build238
En un arranque en red el cliente ejecuta una pequentildea pieza de239
software que generalmente se encuentra en la EPROM de latarjeta Ethernet Este programa enviacutea una solicitud de DHCPpara obtener una direccioacuten IP e informacioacuten sobre queacute hacer acontinuacioacuten Por lo general el siguiente paso es conseguir ungestor de arranque de alto nivel a traveacutes del protocolo TFTPEste gestor podriacutea ser PXELINUX GRUB o incluso arrancar
directamente un sistema operativo como LinuxPor ejemplo si se descomprime el archivo generado240
binary-nettargz en el directorio srvdebian-live severaacute la imagendel sistema de ficheros en livefilesystemsquashfsy el kernel initrd y el gestor de arranque pxelinux entftpbootdebian-livei386
Ahora se debe configurar tres servicios en el servidor para que241
arranque en red el servidor DHCP el servidor TFTP y el servi-dor NFS
471 Servidor DHCP242
Hay que configurar el servidor DHCP de red para asegurar que243
proporciona una direccioacuten IP al cliente y para anunciar la ubi-cacioacuten del gestor de arranque PXE
He aquiacute un ejemplo que puede servir de inspiracioacuten Fue es-244
crito para el servidor ISC DHCP isc-dhcp-serveren su ficherode configuracioacuten etcdhcpdhcpdconf
etcdhcpdhcpdconf - fichero de configuracioacuten para 245
isc-dhcp-server
ddns-update-style none
option domain-name exampleorgoption domain-name-servers ns1exampleorgns2exampleorg
default-lease-time 600 max-lease-time 7200
log-facility local7
subnet 19216800 netmask 2552552550 range 19216801 1921680254next-server servername
filename pxelinux0
472 Servidor TFTP 246
Se encarga de suministrar el kernel y el Disco RAM inicial para 247
el sistema
Se debe instalar el paquete tftpd-hpa Este servidor podraacute 248
suministrar todos los ficheros contenidos de un directorio raiacuteznormalmente srvtftp Para permitirle que pueda servir losficheros de srvdebian-livetftpboot se debe ejecutar elsiguiente comando con privilegios de superusuario
dpkg-reconfigure -plow tftpd-hpa 249
y llenar el directorio del nuevo servidor tftp cuando sea re- 250
querido
13
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 1955
Manual Debian Live
473 Servidor NFS 251
Una vez el equipo cliente ha descargado y arrancado el252
kernel de Linux junto a su initrd intentaraacute montar el sistemade archivos de la imagen en vivo a traveacutes de un servidor
NFS
Se debe instalar el paquete nfs-kernel-server253
Entonces se debe hacer quela imagendel sistema de archivos254
esteacute disponible a traveacutes de NFS antildeadiendo una liacutenea como lasiguiente para etcexports
srvdebian-live255
(roasyncno_root_squashno_subtree_check)
e informar al servidor NFS sobre esta nueva exportacioacuten con256
el siguiente comando exportfs -rv257
La configuracioacuten de estos tres servicios puede ser un poco difiacute-258
cil Seraacute necesario un poco de paciencia para conseguir quetodos ellos funcionen juntos Para obtener maacutes informacioacutenver el wiki de syslinux en lsaquohttpsyslinuxzytorcomwikiindexphpPXELINUXrsaquo o la seccioacuten sobre TFTP Net Booting del Manual del In-stalador de Debian en lsaquohttpd-ialiothdebianorgmanualeni386ch04s05htmlrsaquo Esto puede ser uacutetil ya que sus procesos son muysimilares
474 Coacutemo probar el arranque en red259
La creacioacuten de una imagen de arranque en red es faacutecil usando260
la maacutegia de live-build pero probar las imaacutegenes en maacutequinasfiacutesicas puede ser un proceso mucho maacutes lento
Para hacer nuestra vida maacutes faacutecil se puede utilizar la virtual-261
izacioacuten Hay dos soluciones
475 Qemu 262
bull Install qemu bridge-utils sudo 263
Se debe editar el fichero etcqemu-ifup 264
binsh 265
sudo -p Password for $0 sbinifconfig $11722001
echo Executing etcqemu-ifupecho Bringing up $1 for bridged modesudo sbinifconfig $1 0000 promisc upecho Adding $1 to br0sudo usrsbinbrctl addif br0 $1sleep 2
Obtener o crear un grub-floppy-netboot (en el svn) 266
Lanzar qemu conldquo-net nicvlan=0 -net tapvlan=0ifname=tun0rdquo267
476 VMWare Player 268
bull Instalar VMWare Player (Edicioacuten gratuita laquofree as in beerraquo) 269
bull Crear un directorio PXETester y crear un fichero de texto den- 270
tro llamado pxevwx
bull Copiar este texto dentro 271
usrbinvmware 272
configversion = 8virtualHWversion = 4 memsize = 512MemAllowAutoScaleDown = FALSE
ide00present = FALSEide10present = FALSEfloppy0present = FALSEsoundpresent = FALSEtoolsremindInstall = FALSE
14
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2055
Manual Debian Live
ethernet0present = TRUEethernet0addressType = generated
displayName = Test Boot PXEguestOS = other
ethernet0generatedAddress = 000c298d713buuidlocation = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d
8d 71 3buuidbios = 56 4d 83 72 5c c4 de 3f-ae 9e 07 91 1d 8d
71 3bethernet0generatedAddressOffset = 0
bull Se puedenrealizar pruebas con este fichero de configuracioacuten273
(pej cambiar el limite de memoria a 256)
bull Hacer doble clic en este fichero (o lanzar VMWare player y274
seleccionar este fichero)
bull Mientras esteacute en ejecucioacuten si surge esa extrantildea pregunta275
simplemente hay que pulsar laquoespacioraquo
5 Descripcioacuten general de las herramientas276
Este capiacutetulo contiene una descripcioacuten general de las tres her-277
ramientas principales utilizadas en la creacioacuten de sistemas De-bian Live live-build live-boot y live-config
51 live-build278
live-build es una coleccioacuten de scripts para generar los sistemas279
Debian Live A estos scripts tambieacuten se les conoce como laquoco-mandosraquo
La idea detraacutes de live-build es ser un marco (framework) que280
utiliza un directorio de configuracioacuten para automatizar comple-tamente y personalizar todos los aspectos de la creacioacuten deuna imagen de un sistema en vivo
Muchos conceptos son similares a las del paquete de her- 281
ramientas de Debian debhelper escrito por Joey Hess
bull Los scripts tienen una ubicacioacuten central para la configuracioacuten 282
de su funcionamiento En debhelper eacuteste es el subdirecto-
rio debian de un aacuterbol de paquetes Por ejemplo dh_installbuscaraacute entre otros un fichero llamado debianinstallpara determinar queacute ficheros deben existir en un paquete bi-nario en particular De la misma manera live-build almacenatoda su configuracioacuten bajo un subdirectorio config
bull Los scripts son independientes - es decir siempre es seguro 283
ejecutar cada comando
A diferencia de debhelper live-build contiene una herramienta 284
para crear un directorio de configuracioacuten en esqueleto lbconfig Eacutesto podriacutea ser considerado como similar a her-ramientas tales como dh-make Para obtener maacutes informacioacutensobre lb config consultar lsaquoEl comando lb configrsaquo
El resto de esta seccioacuten describe los tres comandos maacutes im- 285
portantes
bull lb config Responsable de la creacioacuten de un directorio de 286
configuracioacuten del sistema en vivo Ver lsaquoEl comando lb configrsaquopara maacutes informacioacuten
bull lb build Responsable de iniciar la creacioacuten de un sistema 287
en vivo Ver lsaquoEl comando lb buildrsaquo para maacutes informacioacutenbull lb clean Responsable de la eliminacioacuten de partes de la 288
creacioacuten de un sistema en vivo Ver lsaquoEl comando lb cleanrsaquopara maacutes informacioacuten
511 El comando lb config 289
Como se comentoacute en lsaquolive-buildrsaquo los scripts que componen 290
live-build obtienen su configuracioacuten desde un uacutenico directorio
15
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2155
Manual Debian Live
llamado config Como la creacioacuten de este directorio a manoseriacutea largo y propenso a errores se puede utilizar el comandolb config para crear el esqueleto de directorios de configu-racioacuten
Ejecutar lb config sin argumentos crea un subdirecto-291
rio config que se completa con algunas opciones pordefecto
$ lb config292
P Creating config tree
$ ls -ltotal 8drwxr-xr-x 3 user user 4096 Sep 7 1302 autodrwxr-xr-x 22 user user 4096 Sep 7 1302 config
$ ls -l configtotal 104-rw-r--r-- 1 user user 4197 Sep 7 1302 binarydrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installerdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_debian-installer-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_grubdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-debs
drwxr-xr-x 2 user user 4096 Sep 7 1302binary_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_local-udebsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_rootfsdrwxr-xr-x 2 user user 4096 Sep 7 1302
binary_syslinux-rw-r--r-- 1 user user 2051 Sep 7 1302 bootstrap-rw-r--r-- 1 user user 1647 Sep 7 1302 chrootdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_apt
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_local-hooksdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-includesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packagesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-packageslistsdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-patchesdrwxr-xr-x 2 user user 4096 Sep 7 1302
chroot_local-preseed
drwxr-xr-x 2 user user 4096 Sep 7 1302chroot_sources
-rw-r--r-- 1 user user 2954 Sep 7 1302 commondrwxr-xr-x 2 user user 4096 Sep 7 1302 includes-rw-r--r-- 1 user user 205 Sep 7 1302 sourcedrwxr-xr-x 2 user user 4096 Sep 7 1302 templates
Usar lb config sin ninguacuten argumento seriacutea conveniente para 293
los usuarios que necesitan una imagen muy baacutesica o quetienen intencioacuten de proporcionar maacutes tarde una configuracioacutenmaacutes completa a traveacutes de autoconfig (ver lsaquoGestionar una con-figuracioacutenrsaquo para maacutes detalles)
Normalmente se tendraacute que especificar algunas opciones Por 294
ejemplo para incluir la lista del paquete `gnome en la configu-racioacuten
$ lb config -p gnome 295
Es posible especificar muchas opciones tales como 296
$ lb config --binary-images net --hostname 297
live-machine --username live-user
Una lista completa de opciones estaacute disponible en la paacutegina del 298
16
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2255
Manual Debian Live
manual lb_config
512 El comando lb build299
El comando lb build lee la configuracioacuten del directorio con-300
fig A continuacioacuten ejecuta los comandos del nivel inferior maacutesbajo necesarios para crear el sistema en vivo
513 El comando lb clean301
El comando lb clean es el encargado de eliminar varias302
partes de una creacioacuten de forma que las creaciones pos-teriores puedan comenzar de forma limpia Por defecto seeliminan las etapas chroot binary y source pero se deja elcacheacute intacto Ademaacutes se pueden limpiar etapas de forma
individual Por ejemplo si se han realizado cambios que soacuteloafectan 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
52 El paquete live-boot303
live-boot es una coleccioacuten de scripts que proporcionan scripts304
gancho (hooks) para initramfs-tools que sirve para generar uninitramfs capaz de arrancar los sistemas en vivo tales como los
creados por live-build Eacutesto incluye las ISOs de Debian Livearchivos comprimidos en tarde netboot e imaacutegenes para llavesUSB
En el momento del arranque buscaraacute en los medios de alma-305
cenamiento de soacutelo lectura un directorio ldquo liverdquo donde se en-cuentra un sistema de ficheros raiacutez (a menudo una imagen delsistema de ficheros comprimidos como squashfs) Si lo en-cuentra crearaacute un entorno de escritura utilizando aufs paraque arranquen los sistemas tipo Debian
Se puede encontrar maacutes informacioacuten sobre ramfs ini- 306
cial en Debian en el Manual del kernel Debian Linux enlsaquohttpkernel-handbookaliothdebianorgrsaquo concretamente en elcapiacutetulo sobre initramfs
53 El paquete live-config 307
live-config consiste en una serie de scripts que se ejecutan en 308
el arranque despueacutes de live-boot para configurar el sistemaen vivo de forma automaacutetica Se ocupa de tareas como lacreacioacuten del nombre del equipo (hostname) las variantes lo-cales y la zona horaria crear el usuario en vivo la inhibicioacuten detrabajos de cron y el inicio de sesioacuten automaacutetico del usuario envivo
6 Gestionar una configuracioacuten 309
Este capiacutetulo explica como gestionar una configuracioacuten para 310
crear 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
61 Utilizacioacuten de auto para gestionar los cambios de la 311
configuracioacuten
La configuracioacuten necesaria para crear un sistema en vivo rara 312
vez 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 revisioacuten de la configuracioacuten a otra si no se es lo suficien-temente cuidadoso El principal problema es que una vez queuna variable de la configuracioacuten tiene un valor asignado estevalor no es recalculado en revisiones posteriores de la configu-racioacuten Esto hace que si unavariabledepende delvalor de otra
17
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2355
Manual Debian Live
y esta segunda cambia de valor el valor actual de la primerano se ve alterado debido a que ya teniacutea el valor asignado deantemano
Por ejemplo la primera vez que se asigna la distribucioacuten a uti-313
lizar se asigna a muchas variables un valor por defecto paraadecuarse a la distribucioacuten seleccionada Sin embargo si pos-teriormente se decide modificar la distribucioacuten estas variablesdependientes continuan reteniendo los valores antiguos quepor supuesto no son los adecuados para la nueva distribu-cioacuten
Otro problema es que la ejecucioacuten de la orden lb config no314
se reejecutaraacute correctamente si se realiza una actualizacioacuten auna nueva versioacuten de las herramientas live-build que modifiqueel nombre de alguna variable de configuracioacuten Ademaacutes sola-
mente podraacute ser descubierto mediante una revisioacuten manual delos ficheros del directorio config que se deberaacuten modificarpara asignar las variables de configuracioacuten a un nuevo valorapropiado
Todo esto seriacutea un terrible embrollo si no fuese por los scripts315
auto simples envoltorios para los comandos lb configlb build y lb clean que estaacuten disentildeados para ayudar ala gestioacuten de la configuracioacuten Simplemente se debe crearun script llamado autoconfig que contenga el comando lb
configcon todas las opciones que se deseen y otro script
llamado autoclean que elimine los ficheros que contienen losvalores de las variables de configuracioacuten Estos scripts seejecutaraacuten cada vez que se ejecuten los comandos lb configo lb clean de manera automaacutetica Esto aseguraraacute que laconfiguracioacuten se mantendraacute consistente desde una versioacutena otra y desde una versioacuten de las herramientas live-build
a otra (Aunque esto no elimina la necesidad de leer ladocumentacioacuten cuando se instale una nueva version de lasherramientas live-build y quizaacutes realizar alguacuten ajuste manual
en los ficheros de configuracioacuten)
62 Un ejemplo de scripts auto 316
Se debe utilizar scripts auto similares a los ejemplos que se 317
muestran a continuacioacuten como punto de partida para nuevaconfiguracioacuten de las herramientas live-build Hay que hacernotar que cuando se ejecuta el comando lb dentro del scriptauto se debe especificar la opcioacuten noauto para asegurar queel 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)
autoconfig 318
binsh 319
lb config noauto --package-lists standard $
autoclean 320
binsh 321
lb clean noauto $rm -f configbinary configbootstrap
configchroot configcommon configsourcerm -f binarylog
autobuild 322
binsh 323
lb build noauto $ 2gtamp1 | tee binarylog
Estos scripts auto vienen de serie con las herramientas live- 324
build Bastariacutea con copiar estos scripts como punto de par-tida
$ cp usrsharelivebuildexamplesauto auto 325
Se puede editar el script autoconfig modificaacutendolo o antildea- 326
diendo cualquier opcioacuten que se acomode a las necesidadesrequeridas En el ejemplo anterior se asignaraacute la opcioacuten
18
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2455
Manual Debian Live
--packages-lists standard como si fuese asignada pordefecto Se puede cambiar este valor a uno adecuado osimplemente eliminarlo si no es necesario antildeadiendo cualquierotra opcioacuten que se adecue a las necesidades requeridas porla imagen a crear en liacuteneas como las siguientes
7 Descripcioacuten general de la personalizacioacuten327
Este capiacutetulo presenta un resumen de las diversas formas en328
que se puede personalizar un sistema Debian Live
71 Configuracioacuten en el momento de la creacioacuten vs en el329
momento del arranque
Las opciones de configuracioacuten de un sistema Debian Live se330
pueden dividir en opciones que se aplican en el momento dela creacioacuten de la imaacutegen del sistema en vivo y opciones quese tendraacuten en cuenta cuando el sistema en vivo arranqueEstas uacuteltimas 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 aplicaraacutenposteriormente y que son utilizadas por el paquete live-configCualquier opcioacuten en tiempo de arraque puede ser modificadapor el usuario indicaacutendola en los paraacutemetros de arranque delkernel mediante el indicador de arranque (boot prompt) Laimagen puede ser creada por defecto con los paraacutemetros dearranque adecuados de manera que los usuarios solamentetendraacuten que arrancar el sistema en vivo directamente sinnecesidad de especificar ninguna opcioacuten adicional ya quelas opciones por defecto seraacuten las adecuadas En particularla opcion lb --bootappend-live permite introducir cualquierparaacutemetro del kernel para el sistema en vivo como pueden serla persistencia distribucioacuten del teclado zonas horarias etc
Ver un ejemplo en lsaquoPersonalizacioacuten de las variantes locales eidiomarsaquo
Las opciones de configuracioacuten en tiempo de creacioacuten se de- 331
scriben en la paacutegina del manual del comando lb config Las
opciones en tiempo de arranque se describen en las paacuteginasde manual de los paquetes live-boot y live-config Aunque lospaquetes live-boot y live-config se instalan en el sistema envivo que se estaacute creando tambieacuten se recomienda que seaninstalados en el sistema hueacutesped que se utiliza para crear laimagen del sistema en vivo con el fin de facilitar la referenciacuando se trabaja en una configuracioacuten No hay ninguacuten prob-lema en hacerlo ya que ninguno de los scripts que contieneel sistema hueacutesped seraacute ejecutado a menos que se configureel sistema hueacutesped como sistema en vivo cosa que no tienesentido
72 Etapas de la creacioacuten 332
El proceso de creacioacuten de la imagen estaacute dividido en etapas en 333
las 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 baacutesico A con-tinuacioacuten la etapa chroot completa la creacioacuten del directoriochroot rellenaacutendolo con todos los paquetes que han sido lis-tados en la configuracioacuten y material adicional En esta etapase utiliza la mayoriacutea 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-umentacioacuten Posteriormente en la etapa opcional source se
19
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2555
Manual Debian Live
crearaacute el fichero comprimido (tarball) que contiene los ficherosde coacutedigo fuente de los paquetes utilizados
En cada una de estas etapas hay una secuencia particular en334
la se aplican las acciones a realizar Estas acciones son or-
ganizadas en forma de capas de tal manera que aseguran lapersonalizacioacuten 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 ninguacuten fichero localmente oantes de aplicar cualquer parche y los scripts gancho (hooks)seraacuten ejecutados al final de todo una vez que todos los mate-riales estaacuten ubicados en su lugar
73 Opciones para lb config en ficheros335
Aunque la orden lb config crea un esqueleto de configuracioacuten336
en el directorio config quizaacutes sea necesario escribir ficherosde configuracioacuten adicionales dentro de la jerarquiacutea de subdi-rectorios de config con el fin de alcanzar los objetivos prop-uestos En el proceso de creacioacuten de la imagen estos ficherosadicionales seraacuten copiados o en el sistema de ficheros quese utilizaraacute en el sistema en vivo o en el sistema de ficherosde la propia imagen binaria o quizaacutes podraacuten suministrar op-ciones de configuracion al sistema en vivo que seriacutea incomodopasar en la liacutenea de paraacutemetros del kernel Esto dependeraacutede en queacute parte de la jerarquiacutea de subdirectorios de config secopian estos ficheros Se puede incluir cosas como listas depaquetes personalizadas imaacutegenes graacuteficas personalizadas oscripts gancho (hook scripts) para ejecutar o en el momentode creacioacuten de la imagen o en el momento de arranque delsistema en vivo aumentando la ya por otra parte considerableflexibilidad de Debian Live con coacutedigo creado ex profeso
74 Tareas de personalizacioacuten337
Los siguientes capiacutetulos se organizan por tareas de person- 338
alizacioacuten que el usuario realiza tiacutepicamente Los capiacutetulos
de lsaquoPersonalizacioacuten de la instalacioacuten de paquetesrsaquo lsaquoPerson-alizacioacuten de contenidosrsaquo y lsaquoPersonalizacioacuten de las varianteslocales e idiomarsaquo cubre solamente unas pocas de las tareasque pueden realizarse
8 Personalizacioacuten de la instalacioacuten de paquetes 339
Quizaacutes la tarea maacutes baacutesica de personalizacioacuten en Debian Live 340
es la seleccioacuten de paquetes que seraacuten incluidos en la imagen
Este capiacutetulo orienta a traveacutes de lasdiferentes opciones de live-build que en el momento de la creacioacuten de la imagen person-alizan la instalacioacuten de paquetes Las opciones que seleccio-nan la distribucion base y las aacutereas del archivo Debian a utilizarson las que maacutes influyen a la hora deconocer queacute paquetes es-taraacuten disponibles para su instalacioacuten en la imagen Para asegu-rar una buena velocidad de descarga de paquetes se deberiacuteaelegir el repositorio Debian maacutes cercano Se pueden antildeadirrepositorios para paquetes backports experimentales paque-tes personalizados o incluir ficheros de paquetes directamenteSe pueden definir listas de paquetes a incluir personalizadasutilizar listas predefinidas en live-build seleccionar tareas detasksel o unacombinacioacuten de los tres meacutetodos Por uacuteltimo ex-isten varias opciones que dan alguacuten control sobre cuando soninstalados los paquetes por la herramienta apt o la herramientaaptitude seguacuten sea la elegida Estas opciones pueden seruacutetiles si se utiliza un proxy se quiere desactivar la instalacioacutende paquetes recomendados para ahorrar espacio o se nece-sita controlar las versiones de los paquetes a instalar medianteAPT pinning por nombrar algunas posibilidades
20
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2655
Manual Debian Live
81 Origen de los paquetes341
811 Distribucioacuten aacutereas de archivo y modo342
La distribucioacuten seleccionada tiene gran impacto en queacute paque-343
tes estaacuten disponibles para incluir en la imagen Se debe in-dicar el nombre en clave de la distribucioacuten que por defectoes squeeze para la versioacuten Squeeze de live-build Se puedeespecificar cualquier nombre de distribucioacuten disponible en losrepositorios Debian indicando su nombre en clave (Para maacutesdetalles ver lsaquoTeacuterminosrsaquo) La opcioacuten --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 unade las distribucionesPor ejemplo para construir contra la versioacuten inestable Sid
se debe indicar$ lb config --distribution sid344
Las aacutereas del archivo Debian son la principal divisioacuten de pa-345
quetes dentro de una distribucioacuten dada En Debian las aacutereasdel archivo establecidas son main contrib y non-free Sola-mente los paquetes contenidos en main sonparte de la distribu-cioacuten Debian Eacutesta es el aacuterea definida por defecto en live-build Se pueden indicar uno o maacutes valores tal y como se muestra enel siguiente ejemplo
$ lb config --archive-areas main contrib346
Experimentalmente hay soporte para alguna distribucioacuten347
derivada de Debian mediante la opcioacuten --mode Por defectoesta opcioacuten toma el valor de debian incluso si live-build seestaacute ejecutando en un sistema no Debian Si se especifica--mode ubuntu o --mode emdebian se utilizaraacute el nombrede la distribucioacuten y las aacutereas de archivos especiacuteficas de ladistribucioacuten derivada en lugar de los propios de Debian ylive-build modificaraacute su comportamiento para adecuarlo almodo seleccionado
Nota La ayuda a los usuarios de las distribuciones para las 348
cuales se antildeadieron estos modos son responsabilidad de losdesarrolladores de dichas distribuciones El proyecto DebianLive proporciona ayuda al desarrollo de la mejor manera posi-ble basaacutendose en la informacioacuten recogida de dichas distribu-
ciones derivadas a pesar de que no desarrolla ni da soporte alas mismas
812 Reacuteplicas de Distribucioacuten Debian 349
Los repositorios de Debian estaacuten replicados en una gran red 350
alrededor del mundo de manera que se puede seleccionar lareacuteplica maacutes cercana con el fin de obtener la mejor velocidadde descarga Cada una de las opciones --parent-mirror-gobierna queacute reacuteplica de repositorio Debian se utiliza en las
diferentes etapas de creacioacuten Si se recuerda de lsaquoEtapas de lacreacioacutenrsaquo en la etapa de preinstalacioacuten(bootstrap) es cuandose crea el directorio chroot y se rellena con un sistema miacutenimomediante la herramienta debootstrap y en la etapa chrootes cuando el directorio chroot es completado con los paquetesnecesarios para crear el sistema de ficheros que seraacute utilizadoen el sistema en vivo A cada una de estas etapas le corre-sponde su propia opcioacuten --parent-mirror- Posteriormenteen la etapa binary se utilizaraacuten las reacuteplicas Debian indicadasen los valores de las opciones --parent-mirror-binary y
--parent-mirror-binary-security en lugar de utilizar losindicados para las etapas anteriores
813 Reacuteplicas de Distribution utilizadas durante la 351
creacioacuten
Para indicar queacute reacuteplicas deben ser utilizadas en el momento 352
de crear la imagen es suficiente con utilizar las opciones--parent-mirror-bootstrap --parent-mirror-chroot-security
21
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2755
Manual Debian Live
y --parent-mirror-chroot-backports como se muestra acontinuacioacuten
$ lb config --parent-mirror-bootstrap353
httplocalhostdebian --parent-mirror-chroot-security
httplocalhostdebian-security --parent-mirror-chroot-backports
httplocalhostdebian-backports
El valor indicado en --parent-mirror-chroot es utilizado354
como valor pordefecto para la opcioacuten --parent-mirror-bootstrapsi esta no es indicada
814 Reacuteplicas de distribucioacuten Debian utilizadas en la 355
ejecucioacuten
Las opciones --parent-mirror-binary gobiernan las reacutepli-356
cas configuradasen la imagenbinaria queseraacutenutilizadas parainstalar paquetes adicionales mientras se ejecuta el sistema envivo Por defecto se utiliza cdndebiannet que es un ser-vicio que selecciona la reacuteplica maacutes cercana basaacutendose en elnuacutemero de IP Es una eleccioacuten bastante acertada siempre queno se pueda predecir que reacuteplica seraacute la mejor para todos losusuarios Tambieacuten se puede especificar valores personaliza-doscomo se muestra en el siguienteejemplo Una imagencon-struida con esta configuracioacuten solamente seriacutea accesible a los
usuarios de una red donde ldquo mirrorrdquo fuese alcanzable$ lb config --parent-mirror-binary httpmirrordebian357
--parent-mirror-binary-security
httpmirrordebian-security
815 Repositorios adicionales358
Se pueden antildeadir maacutes repositorios ampliando la lista de359
paquetes seleccionables maacutes alla de aquellos disponiblespara la distribucioacuten indicada como pueden ser paquetesde backports paquetes experimentales o personalizadosPara configurar repositorios adicionales se debe crear losficheros configchroot_sourcesyour-repositorychroot
yo configchroot_sourcesyour-repositorybinary Aligual que en las opciones --parent-mirror- estos ficherosgobiernan los repositorios utilizados en las etapas chroot ybinary respectivamente esto es los repositorios que seraacutenutilizados cuando se ejecute el sistema en vivo
Por ejemplo configchroot_sourceslivechroot permite 360
instalar paquetes de la instantaacutenea del repositorio Debian Liveen el momento de crear la imagen
deb httplivedebiannet sid-snapshots main contrib 361non-free
Si se antildeade la misma liacutenea a configchroot_sourceslive- 362
binary el repositorio seraacute antildeadido al directorio etcapt-sourceslistd del sistema en vivo
Estos ficheros seraacuten seleccionados automaacuteticamente si exis- 363
ten
Se deberiacutea tambieacuten incluir en el fichero configchroot_- 364
sourcesyour-repositorybinarychrootgpg la claveGPG a utilizar para firmar dicho repositorio
Nota Existen algunos repositorios de paquetes ya pre- 365
configurados para facilitar la seleccioacuten mediante la opcioacuten--repository Por ejemplo para utilizar las instantaacuteneasdel repositorio de Debian Live seriacutea suficiente con activarlomediante
$ lb config --repository livedebiannet 366
22
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2855
Manual Debian Live
82 Seleccioacuten de los paquetes a instalar 367
Hay varias maneras de seleccionar queacute paquetes seraacuten insta-368
lados por live-build en la imagen que cubren una variedad denecesidades diversas Se puede nombrar paquetes individ-
uales para instalar en unalista de paquetes Tambieacuten se puedeseleccionar listas de paquetes predefinidos o incluso utilizartareas de APT Por uacuteltimo tambieacuten se pueden utilizar ficherosde paquetes de prueba o experimentales obtenidos antes deque aparezcan en los repositorios oficiales simplemente de-positando estos ficheros directamente en el aacuterbol de directoriosconfig
821 Listas de paquetes369
Las listas de paquetes proporcionan una potente forma de ex-370
presar queacute paquetes deberiacutean ser instalados La sintaxis de lalista soporta la inclusioacuten de ficheros y secciones condicionalesque facilitan la creacioacuten de listas a partir de otras listasadaptando su utilizacioacuten a diversas configuraciones Tambieacutenpueden utilizarse listas de paquetes predefinidas dando unamanera modular a la seleccioacuten de paquetes para cada unode los diferentes entornos de escritorios y algunas listasde propoacutesito especial basadas en otras listas de propoacutesitogeneral Puede utilizarse listas propias o una combinacioacuten de
listas propias y listas predefinidas
822 Listas de paquetes predefinidas371
La forma maacutes simple de utilizar listas de paquetes es es-372
pecificar una o maacutes listas predefinidas mediante la opcioacuten--package-lists por ejemplo
$ lb config --package-lists gnome rescue373
Ademaacutes de estas listas live-build soporta cuatro listas de pa-374
quetes virtuales gnome-desktop kde-desktop lxde-desktopy xfce-desktop cada una de las cuales provee una seleccioacutende paquetes extensiva que corresponde con los valores porde-fecto del Instalador de Debian para estos entornos de escrito-rio Para maacutes informacioacuten ver lsaquoTareas de Escritorio e Idiomarsaquo
Nota Existen imaacutegenes listas para su descarga con los es- 375
critorios GNOME KDE LXDE y XFCE en lsaquohttplivedebiannetrsaquo Estas imaacutegenes han sido creadas utilizando la lista vir-tual -desktop correspondiente
La ubicacioacuten por defecto de las listas de los ficheros en el sis- 376
tema hueacutesped es usrsharelivebuildpackage-lists- Para determinar queacute paquetes componen una lista dada sedebe leer el correspondiente fichero poniendo atencioacuten en los
ficheros incluidos y en las secciones condicionales como sedescriben a continuacioacuten
823 Listas de paquetes locales 377
Se pueden antildeadir o reemplazar completamente las listas pre- 378
definidas depositando listas de paquetes locales en el directo-rio configpackage-lists
Para que sean procesadas las listas de paquetes que se 379
depositen en este directorio deben tener la extensioacuten listademaacutes de la extensioacuten de la etapa chroot o binary paraindicar a queacute etapa corresponde la lista
Nota Si no se especifica el sufijo la lista seraacute usada en 380
las dos etapas En consecuencia es conveniente especificarlistchroot de modo que los paquetes se instalen uacutenica-mente en el sistema en vivo y no exista otra copia extra delpaquete deb
23
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 2955
Manual Debian Live
824 Listas de paquetes locales para binary 381
Para crear una lista para la etapa laquobinaryraquo crear un fichero con382
el sufijo listbinary en configpackage-lists Estos pa-quetes no son instalados en el sistema en vivo pero son inclui-
doseneacutelen pool Eluso tiacutepico deuna deestas lista seriacutea parauna de las variantes de instalador normal (laquonon-liveraquo Ndel T)Tal y como se mencionaba anteriormente si se desea usar lamisma lista para la etapa laquochrootraquo basta con solamente antildeadirel sufijo list
825 Extensioacuten de una lista de paquetes dada mediante383
laquoincludesraquo
Las listas de paquetes predefinidas en live-build hacen un uso384
intensivo de las directivas laquoincludesraquo Los ficheros existentesen el directorio usrsharelivebuildpackage-listspueden servir como buen ejemplo de como escribir listas depaquetes
Por ejemplo para hacer una lista de paquetes que in-385
cluya la lista de paquetes predefinida gnome y antildeadir elpaquete iceweasel se puede crear un fichero llamadoconfigpackage-listsmylistchroot con el siguientecontenido
include ltgnomegt386
iceweasel
826 Utilizacioacuten de condiciones dentro de las listas de387
paquetes
En las sentencias condicionales de las listas de paquetes388
pueden utilizarse cualquier variable disponible en config(excepto las que tienen el prefijo LB_) En general esto significa
que puede utilizarse cualquier opcioacuten vaacutelida para lb configcambiando las letras minuacutesculas por mayuacutesculas y los guionespor subrayados En la praacutectica solamente tiene sentidoutilizar aquellas variables relacionadas con la seleccioacuten depaquetes como pueden ser DISTRIBUTION ARCHITECTURE o
ARCHIVE_AREAS
Por ejemplo para instalar el paquete ia32-libs si se ha es- 389
pecificado la arquitectura amd64 (--architecture amd64) sepuede utilizar
if ARCHITECTURE amd64 390
ia32-libsendif
En la expresioacuten condicional pueden utilizarse varios val- 391
ores Por ejemplo para instalar el paquete memtest86+ si
la arquitectura es i386 (--architecture i386) o es amd64(--architecture amd64) se puede especificar
if ARCHITECTURE i386 amd64 392
memtest86+endif
En la expresioacuten condicional tambieacuten pueden utilizarse variables 393
que pueden contener maacutes de un valor Por ejemplo para insta-lar vrms si se utilizan las aacutereas del archivo contrib o non-freemediante la opcioacuten --archive-areas se puede indicar
if ARCHIVE_AREAS contrib non-free 394
vrmsendif
Es habitual que una condicioacuten incluya una directiva laquoin- 395
cluderaquo
if ARCHITECTURE amd64 396
include ltgnome-fullgtendif
No se permite el anidamiento de estructuras condi- 397
cionales
24
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3055
Manual Debian Live
827 Tareas398
El Instalador de Debian ofrece al usuario un conjunto de op-399
ciones con una lista de paquetes preseleccionada enfocadasa configurar un tipo de sistema o configurar el sistema para
realizar una tarea como puede ser laquoEntorno de escritorio graacute-ficoraquo laquoServidor de correoraquo laquoPortaacutetilraquo etc Estas listas son lla-madas laquotareasraquo y son soportadas por APT mediante el campolaquoTaskraquo Se puede especificar a live-build que seleccione es-tas tareas mediante la opcioacuten --task tal y como se muestra enel siguiente ejemplo
$ lb config --tasks mail-server file-server400
Una vez ha sido arrancado el sistema en vivo puede conocerse401
queacute tareas primarias estaacuten 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
828 Tareas de Escritorio e Idioma 402
Las tareas de escritorio y de idioma son casos especiales403
Si el medio de instalacioacuten fue preparado para una claseparticular de entorno de escritorio el Instalador de Debian
instalaraacute automaacuteticamente la tarea de entorno de escritoriocorrespondiente Para ello existen las tareas gnome-desktopkde-desktop lxde-desktop y xfce-desktop pero ningunade ellas son presentadas en el menuacute de tasksel De igualforma las tareas para idiomas tampoco son presentadas en elmenuacute de tasksel pero la seleccioacuten del idioma al inicio de lainstalacioacuten repercute en la seleccioacuten de las correspondientestareas del idioma
En live-build estos casos especiales tambieacuten son tratados de404
manera especial pero en el momento de escribir este manualhay tres notables diferencias
Primero no se ha previsto todaviacutea la instalacioacuten automaacutetica 405
de tareas de idiomas aunque se incluye un subconjunto deestos paquetes si se especifica un idioma mediante
lb config--language Se puede especificar en la configuracioacuten de live-
build la utilizacioacuten de estas tareas que incluyen cosas especiacute-ficas del idioma como pueden ser paquetes tipos de letra ymeacutetodos de introduccioacuten Por ejemplo
$ lb config --tasks japanese japanese-desktop 406
japanese-gnome-desktop
Segundo live-build soporta la lista de paquetes virtuales 407
-desktop para cada clase de escritorio mencionadoanteriormente Esto seleccionaraacute la lista de paquetes
predefinida standard-x11 la correspondiente tarea deescritorio -desktop y tres tareas adicionales desktopstandard y laptop Asiacute por ejemplo si se especifica--package-lists gnome-desktop seraacute equivalente a especi-ficar lb config --package-lists standard-x11 echodebian-installer-launcher gtgt configpackage-lists-
mylistchroot echo ldquognome-desktop desktop standardlaptoprdquo gtgt configtask-listsmylistchroot
Tercero si se selecciona cualquier tarea de escritorio ex- 408
pliacutecitamente a traveacutes de --tasks o impliacutecitamente mediante
--package-lists live-build preconfiguraraacute (preseed) en elInstalador de Debian (si es incluido) el escritorio correspondi-ente para asegurar que sigue sus propias reglas cuando seainstalado
Nota Existe tambieacuten la opcioacuten experimental --language cuyo 409
propoacutesito se solapa con las tareas de idioma Se instalaraacuten lospaquetes de soporte -l10n siempre que existan y que se es-pecifique un idioma mediante la opcioacuten --language Ademaacutessi existe se utilizaraacute en lugar de las plantillas por defecto
25
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3155
Manual Debian Live
en ingles cualquier plantilla para syslinux del idioma indi-cado mediante esta opcioacuten La seleccioacuten de paquetes real-izada mediante la opcioacuten --language es una pobre aproxi-macioacuten a las tareas de idiomas Las tareas de idiomas son unmeacutetodo maacutes completo y flexible que la utilizacioacuten de la opcioacuten
--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 uacutetil Por esto sise utiliza la opcioacuten --bootloader syslinux y plantillas paraun idioma existente en usrsharelivebuildtemplates-syslinux o configtemplatessyslinux esta opcioacuten es unpunto a tener en cuenta posiblemente en combinacioacuten con lastareas de idiomas para asegurar la instalacioacuten de los paquetesadecuados Por ejemplo
$ lb config --language es410
Esta opcioacuten solamente soporta un idioma y un gestor de ar-411
ranque Por todas estas razones el futuro de esta opcioacuten estaacutebajo revisioacuten y posiblemente seraacute reemplazada por algo com-pletamente diferente en la proxima revisioacuten general de live-
build
83 Instalar paquetes de terceros o paquetes412
modificados
Si bien estaacute en contra de la filosofiacutea de Debian Live en oca-413
siones 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 caracteriacutes-ticas existentes o dar soporte a caracteriacutesticas adicionales id-iomas y derivados (branding) o eliminar elementos existentesen los paquetes que no son de interes De manera similar sepueden incluir paquetes laquode tercerosraquo para antildeadir funcionali-dades a medida o propietarias
En esta seccioacuten no se describe la creacioacuten o mantenimiento414
de paquetes personalizados Puede ser interesante unalectura del meacutetodo descrito por Joachim Breitner `How tofork privately en lsaquohttpwwwjoachim-breitnerdeblogarchives282-How-to-fork-privatelyhtml rsaquo La guiacutea del nuevo desarrolladorde Debian en lsaquohttpwwwdebianorgdocmaint-guide rsaquo describe la
creacioacuten de paquetes a medida
Existen dos formas de instalar paquetes personalizados 415
bull chroot_local-packages 416
bull Utilizando un repositorio APT personalizado 417
El meacutetodo chroot_local-packages es el maacutes simple para 418
antildeadir paquetes personalizados Es muy uacutetil para person-alizaciones laquoraacutepidasraquo (one-off) pero tiene unos cuantosinconvenientes mientras que la utilizacioacuten de un repositorio
APT personalizado es maacutes lento de poner en marcha
831 Meacutetodo chroot_local-packages para instalar 419
paquetes personalizados
Para instalar paquetes personalizados solamente hay 420
que copiar el paquete en el directorio configchroot_-local-packages Los paquetes contenidos en este directorioseraacuten automaacuteticamente instalados en el sistema en vivodurante el proceso de creacioacuten No es necesario especificar
de doacutende se deben obtener los paquetes
Los paquetes deben nombrarse de la forma prescrita La 421
forma maacutes simple es usar dpkg-name
El meacutetodo chroot_local-packages para la instalacioacuten de pa- 422
quetes personalizados tiene desventajas
bull No es posible utilizar APT seguro 423
bull Se deben depositar todos los paquetes necesarios para 424
26
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3255
Manual Debian Live
cumplir dependencias en el directorio configchroot_-local-packages
bull No es adecuado para almacenar configuraciones de Debian425
Live en un control de versiones
832 Meacutetodo de repositorio APT para instalar paquetes426
personalizados
Al contrario del meacutetodo chroot_local-packages cuando se427
utiliza el meacutetodode repositorio APTpersonalizado se debe ase-gurar que se especifica doacutende se deben buscar los paquetes ainstalar Para maacutes informacioacuten ver lsaquoSeleccioacuten de los paquetesa instalarrsaquo
Aunque crear un repositorio APT para instalar paquetes428
personalizados puede parecer un esfuerzo innecesaro la in-fraestructurar puede ser faacutecilmente reutilizada posteriormentepara ofrecer nuevas versiones de los paquetes
833 Paquetes personalizados y APT429
live-build utiliza APT para instalar todos los paquetes en el sis-430
tema en vivo asiacute que hereda sus comportamientos Un puntoa resaltar es que (asumiendo una configuracioacuten de APT por de-fecto) dado un paquete en dos repositorios diferentes con difer-
entes nuacutemeros de versiones APT seleccionaraacute para instalar elpaquete con nuacutemero de versioacuten superior
Esta seriacutea unabuena razoacuten para incrementar el nuacutemero de ver-431
sion en losficheros debianchangelogde lospaquetesperson-alizados y asiacute asegurar que seraacuten estos los paquetes instala-dos en lugar de los contenidos en los repositorios oficiales deDebian Esto puede tambieacuten lograrse alterando las preferen-cias de pinning de APT del sistema en vivo Para maacutes informa-cioacuten ver lsaquoAPT pinningrsaquo
84 Configurar APT en la creacioacuten 432
Se puede configurar APTmediantevarias opciones quese apli- 433
caraacuten en el momento de crear la imagen (La configuracioacuten queAPT utilizaraacute cuando se ejecute el sistema en vivo puede ser
configurada de la manera que habitualmente se utiliza para in-troducir contenidos del sistema en vivo esto es incluyendo lasconfiguraciones apropiadas en el directorio configchroot_-local_includes) Se puede encontrar una lista completade las opciones para configurar APT en la paacutegina de man-ual de lb_config Son aquellas opciones que comienzan conapt
841 Utilizar apt o aptitude 434
Se puede seleccionar queacute herramienta se utilizaraacute para insta- 435
lar paquetes apt o aptitude en el momento de crear la im-agen mediante la opcioacuten --apt de lb config Esta seleccioacutendefiniraacute el comportamiento preferido en la instalacioacuten de paque-tes siendola mayor diferencia la manera de tratar los paquetesno disponibles
bull apt Con este meacutetodo si se especifica un paquete no ex- 436
istente la instalacioacuten fallaraacute Es el comportamiento por de-fecto
bull aptitude Con este meacutetodo si se especifica un paquete no 437
existente la instalacioacuten continuaraacute sin error
842 Utilizacioacuten de un proxy con APT 438
Un problema habitual en la configuracioacuten de APT es tratar con 439
la creacioacuten de una imagen desde detras de un proxy Se puedeespecificar dicho proxy con las opciones --apt-ftp-proxy o--apt-http-proxy Por ejemplo
27
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3355
Manual Debian Live
$ lb config --apt-http-proxy httpproxy440
843 Ajuste de APT para ahorrar espacio441
En ocasiones seraacute necesario ahorrar alguacuten espacio en el medio442
de instalacioacuten Las dos opciones descritas a continuacioacutenpueden ser de interes
Si no se desea incluir los iacutendices de APT en la imagen creada443
se puede utilizar la siguiente opcioacuten
$ lb config --binary-indices false444
Esto no modificaraacute el comportamiento de las entradas definidas445
en etcaptsourceslist sino que solo afecta a si exitiraacuten o noficheros de iacutendice en el directorio varlibapt El compromisoviene de que APT necesita estos ficheros iacutendices para fun-cionar en el sistema en vivo asiacute que si no existen el usuariodeberaacute ejecutar la orden apt-get update para crear estosiacutendices antes de poder ejecutar una orden del tipo apt-cachesearch o apt-get install
Si la instalacioacuten de los paquetes recomendados aumenta de-446
masiado el tamantildeo de la imagen se puede desactivar el valorpor defecto de esta opcioacuten de APT con
$ lb config --apt-recommends false447
Lo que estaacute enjuego aqui es que si no se instalan los paquetes448
recomendados para un paquete dado esto es laquolos paquetesque supuestamente deberiacutean encontrase intalados si un pa-quete ya lo estaacuteraquo (Debian Policy Manual seccion 72) alguacutenpaquete que supuestamente deberiacutea estar instalado seraacute omi-tido Por otra parte se sugiere que si se desactiva esta op-cioacuten se revise las recomendaciones hechas a la lista de pa-quetes indicada (ver el fichero binarypackages generado porlb build) y que se incluya en la lista cualquier paquete quedeba ser instalado Si se encuentra queel nuacutemerode paquetes
descartado es pequentildeo se recomienda que la opcioacuten se activey que se utilice una prioridad negativa para el pin de APT endichos paquetes y asiacute evitar que sean instalados tal y como seexplica en lsaquoAPT pinningrsaquo
844 Pasar opciones a apt o a aptitude 449
Si no existe ninguna opcioacuten de lb config para alterar el 450
comportamiento de APT tal y como se desea se puede utilizarlas opciones --apt-options o --aptitude-options parapasar cualquier opcioacuten que se desee a la herramienta APTPara maacutes informacioacuten ver las paacuteginas de manual de apt yaptitude
845 APT pinning 451
Como informacioacuten baacutesica seriacutea recomendable leer la paacutegina 452
de manual apt_preferences(5) APT pinning puede ser con-figurado o en tiempo de creacioacuten de la imagen creando elfichero configchroot_aptpreferences o en tiempo de eje-cucioacuten del sistema en vivo creando el fichero configchroot_-local-includesetcaptpreferences
Supongamos que se estaacute creando un sistema en vivo basado 453
en Squeeze pero se necesita instalar todos los paquetes ldquoliverdquo
que terminan instalados en la imagen binaria final desde la ver-sioacuten inestable laquoSidraquo en el momento de crear la imagen Sedeberaacute antildeadir Sid a los oriacutegenes (sources) de APT y fijarlo(pin) de manera que solamente los paquetes fijados sean in-stalados desde Sid mientras que el resto seraacute obtenido desdela distribucioacuten base Squeeze Esto se puede realizar de lasiguiente forma
$ echo deb httpmirrordebian sid main gt 454
configchroot_sourcessidchroot
28
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3455
Manual Debian Live
$ cat gtgt configchroot_aptpreferences ltltENDPackage live-boot live-boot-initramfs-tools
live-config live-config-sysvinitPin release n=sidPin-Priority 600
Package Pin release n=sidPin-Priority 1END
Nota Se pueden usar comodines en los nombres de los pa-455
quetes a fijar (pej Package live- ) si se usa una versioacuten deapt igual o superior a 0814 Esto significa que funciona conWheezy usando
$ lb config --distribution wheezy456
Una prioridad pin negativa previene la instalacioacuten de un pa-457
quete como puede ser el caso de que no se desee que un pa-quete recomendado porotro seainstalado al instalar el primeroSupongamos que se estaacute creando una imagen LXDE mediantela opcioacuten --package-lists lxde pero no se desea preguntaral usuario si desea almacenar las claves wifi en el almacende claves La lista lxde incluye gdm la cual depende de gksuque a su vez recomienda gnome-keyring Asiacute que el objetivoes omitir la instalacioacuten del paquete gnome-keyring que puedeconseguirse antildeadiendo un fichero con el siguiente contenido aconfigchroot_aptpreferences
Package gnome-keyring458
Pin version Pin-Priority -1
9 Personalizacioacuten de contenidos459
Este capiacutetulo trata no solamente de una mera descripcioacuten460
de coacutemo seleccionar los paquetes a incluir en el sistema envivo sino que ademaacutes presenta coacutemo hacer el laquoajuste finoraquo
de la personalizacioacuten de los contenidos del propio sistemaLos laquoantildeadidosraquo (includes) permiten adjuntar o reemplazarcualquier fichero en la imagen Debian Live a crear los scriptsgancho (hooks) permiten ejecutar cualquier orden en lasdiferentes etapas de creacioacuten y en el momento del arranque
y por uacuteltimo la preconfiguracioacuten permite configurar paquetescuando son instalados suministrando las respuestas a laspreguntas de debconf
91 Includes 461
Idealmente un sistema Debain Live deberiacutea incluir solamente 462
ficheros que son obtenidos de paquetes Debian no modifica-dos Sin embargo algunas veces es conveniente incluir o
modificar alguacuten contenido mediante ficheros La utilizacioacutende laquoantildeadidosraquo (includes) posibilita la inclusioacuten modificacioacuten ocambio de cualquier fichero en la imagen Debian Live a crearlive-build tiene tres mecanismos
bull Includes locales en chroot Estos includes permiten incluir o 463
reemplazar ficheros del entorno chroot Para maacutes informa-cioacuten ver lsaquoIncludes locales en Livechrootrsaquo
bull Includes locales en Binary Estos includes permiten incluir o 464
reemplazar ficheros en la propia imagen binaria generadaPara maacutes informacioacuten ver lsaquoIncludes locales en Binaryrsaquo
bull Includes en Binary Estos includes permiten incluir o reem- 465
plazar ficheros especiacuteficos de Debian en la imagen binariacomo pueden ser plantillas o directorios de herramientasPara maacutes informacioacuten ver lsaquoIncludes en Binaryrsaquo
Para maacutes infomacioacuten acerca de la diferencia entre las imaacute- 466
genes ldquoLiverdquo y ldquobinaryrdquo ver lsaquoTeacuterminosrsaquo
29
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3555
Manual Debian Live
911 Includes locales en Livechroot 467
Los includes locales en chroot se utilizan para incluir o reem-468
plazar ficheros en el sistema de ficheros Livechroot de man-era que puedan ser utilizados en el sistema en vivo Una uti-
lizacioacuten tiacutepica de estos Includes puede ser el rellenar el direc-torio (etcskel) del sistema en vivo para que sea utilizado enla creacioacuten del directorio home al dar de alta usuarios en el sis-tema en vivo Otra utilizacioacuten tiacutepica es suministrar ficheros deconfiguracioacuten que puedan ser incluidos o reemplazados en laimagen sin necesidad de realizar proceso alguno (Los ficherosson simplemente copiados sin realizar ninguacuten proceso de losmismos para adecuarlos al sistema concreto N del T) Si senecesita realizar alguacuten procesado de estos ficheros ver la sec-cioacuten lsaquoScripts gancho locales en Livechrootrsaquo
Para incluir ficheros solamente hace falta antildeadirlos al directorio469
de configuracioacuten configchroot_local-includes Habraacute unarelacioacuten directa entre este directorio y el directorio raiz () delsistema en vivo Por ejemplo si se desea antildeadir un ficheropara que sea el fichero varwwwindexhtml del sistema envivo se puede hacer lo siguiente
$ mkdir -p configchroot_local-includesvarwww470
$ cp dondeesteacuteelficherooriginalindexhtmlconfigchroot_local-includesvarwww
El directorio de configuracioacuten presentaraacute la siguiente jerar-471
quiacutea
-- config472
[]|-- chroot_local-includes| `-- var| `-- www| `-- indexhtml
[]`-- templates
Los includes locales en chroot seraacuten instalados despueacutes de la473
instalacioacuten de los paquetes de maneraque los includes sobree-scribiraacuten cualquier fichero que los paquetes puedan haber in-stalado
912 Includes locales en Binary 474
Se puede incluir material como documentacioacuten videos etc en 475
el sistema de ficheros del medio de instalacioacuten (USB CDROMetc) donde se grabaraacute la imagen de manera que sea accesi-ble nada maacutes insertar el medio sin necesidad de arrancar elsistema en vivo Para esto se utilizan los includes locales enBinary Funciona de manera similar a los includes locales enchroot comentados anteriormente Por ejemplo supongamosque en el medio de instalacioacuten se desea antildeadir unos ficheros
con videos de demostracioacuten sobre el funcionamiento del sis-tema en vivo de manera que el usuario pueda acceder a ellosa traveacutes de la paacutegina de indice HTML Simplemente se debecopiar el material en configbinary_local-includes de lasiguiente manera
$ cp ~video_demo configbinary_local-includes 476
Los ficheros apareceraacuten en el directorio raiz del medio desde 477
el que se instalaraacute el sistema en vivo
913 Includes en Binary 478
live-build tiene alguacuten fichero estandar como puede ser la doc- 479
umentacioacuten que se incluyen por defecto en el medio de insta-lacioacuten Esto puede ser desactivado con
$ lb config --includes none 480
Si no se utiliza esta opcioacuten live-build instalaraacute el material en 481
el directorio includes del sistema de ficheros del mediode instalacioacuten por defecto En lugar de none se puede
30
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3655
Manual Debian Live
especificar un directorio alternativo mediante la misma opcioacuten--includes
92 Scripts gancho (Hooks)482
Los scripts gancho permiten ejecutar oacuterdenes para person-483
alizar la imagen en las etapas chroot y binary
921 Scripts gancho locales en Livechroot484
Para ejecutar oacuterdenes en la etapa chroot se deben crear485
scripts gancho que contengan dichas ordenes a ejecutar ydepositarlos en el directorio configchroot_local-hooksEstos scripts seraacuten ejecutados en el entorno del chroot de-spueacutes de que el resto de las tareas de preparacioacuten del chroot
han sido realizadas Se debe asegurar que previamentese han instalado en el entorno chroot cualquier paquetefichero u oacuterden que necesiten los scripts gancho El paquetelive-build instala en el directorio usrsharelivebuild-exampleshooks del sistema hueacutesped unos cuantos scriptsgancho para realizar tareas habituales de personalizacioacutendel entorno chroot que pueden ser copiados o referenciadosmediante enlace simboacutelico en el directorio de configuracioacutenconfigchroot_local-hooks
922 Scripts gancho en tiempo de arranque486
Para ejecutar ordenes en el arranque del sistema en vivo se487
puede suministrar scripts gancho a live-config depositaacutendolosen el directorio configchroot_local-includesliblive-config tal y como se explica en la seccioacuten de ldquoPersonal-izacioacutenrdquo de la paacutegina de manual de live-config Es interesanteexaminar los scripts gancho que trae de serie live-config quepueden verse en libliveconfig y fijarse en la secuencia
de nuacutemeros Cuando se vaya a utilizar scripts propios debenser prefijados con un nuacutemero para indicar el orden de ejecu-cioacuten Otra posibilidad es utilizar un paquete personalizado tal ycomo se describe en lsaquoInstalar paquetes de terceros o paquetesmodificadosrsaquo
923 Scripts gancho locales en Binary 488
Para ejecutar comandos en la etapa Binary se deben crear 489
scripts gancho que contengan las ordenes y depositarlos enel directorio configbinary_local-hooks Los scripts ganchose ejecutaraacuten despueacutes de finalizar el resto de procesos de laetapa pero antes de crear los checksum con binary_checksum
que es el uacuteltimo proceso que se ejecuta en esta etapa Losscripts gancho no se ejecutan en el entorno del chroot asiacute quehay que tener cuidado de no modificar cualquier fichero fueradel aacuterbol de creacioacuten o se dantildearaacute el sistema de creacioacuten Enusrsharelivebuildexampleshooksse pueden ver var-ios ejemplos de scripts gancho geneacutericos que permiten tareasde personalizacioacuten para la etapa Binary Estos scripts puedenser utilizados copiandolos o creando enlaces simboacutelicos enconfigbinary_local-hooks
93 Preconfiguracioacuten de las preguntas de Debconf 490
Los ficheros del directorio configchroot_local-preseedson 491
ficheros de preconfiguracioacuten para debconf live-build instalaraacuteestos ficheros mediante debconf-set-selections
Ver debconf(7) en el paquete debconf para obtener maacutes infor- 492
macioacuten acerca de debconf
31
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3755
Manual Debian Live
10 Personalizacioacuten del comportamiento en tiempo de 493
ejecucioacuten
Toda la configuracioacuten que se hace en tiempo de ejecucioacuten es494
realizada por live-config Eacutestas son algunas de las opciones
maacutes comunes de live-config en las que los usuarios estaacuten maacutesinteresados Se puede encontrar una lista completa de todaslas posibilidades en la paacutegina del manual de live-config
101 Personalizacioacuten del usuario por defecto del sistema 495
en vivo
Una consideracioacuten importante es que el usuario por defecto496
del sistema en vivo es creado por live-boot en el arranque yno live-build durante la creacioacuten de la imagen Eacutesto no soacutelo in-fluye doacutende se introducen los materiales relacionados con esteusuario durante la creacioacuten de la imagen tal y como se explicaen lsaquoIncludes locales en Livechrootrsaquo sino tambieacuten a cualquiergrupo y a los permisos asociados con el usuario por defectodel sistema en vivo
Se puede especificar grupos adicionales a los que perteneceraacute497
el usuario por defecto del sistema en vivo preconfigu-rando el valor debconf passwduser-default-groupsPor ejemplo para agregar el usuario al grupo fuse
antildeadir el siguiente coacutedigo en un fichero en el directorioconfigchroot_local-preseed
user-setup passwduser-default-groups string audio498
cdrom dip floppy video plugdev netdev powerdev scannerbluetooth fuse
Ademaacutes es posible cambiar el usuario por defecto ldquouserrdquo y499
la contrasentildea por defecto ldquoliverdquo Si se desea cambiarlos porcualquier motivo se puede conseguir de forma sencilla tal ycomo se explica a continuacioacuten
Cambiar el nombredel usuario pordefecto es tansencillo como500
especificarlo en la configuracioacuten
$ lb config --bootappend-live username=live-user 501
Una posible forma de cambiar la contrasentildea por defecto 502
es usando un script gancho (hook) tal y como se de-scribe en lsaquoScripts gancho en tiempo de arranquersaquo Paraconseguirlo se puede usar el script gancho laquopasswdraquo deusrsharedoclive-configexampleshooks ponerle unprefijo adecuado (pej 200-passwd) y antildeadirlo a config-chroot_local-includeslibliveconfig
102 Personalizacioacuten de las variantes locales e 503
idioma
Cuando el sistema en vivo arranca el idioma estaacute implicado en 504
tres pasos
bull Generar las variantes locales 505
bull Establecer la distribucioacuten del teclado para el consola 506
bull Establecer la distribucioacuten del teclado para el entorno graacutefico 507
X
La variante local predeterminada en la creacioacuten de un sistema 508
en vivo es ldquolocales=en_USUTF-8rdquo Para definir la variantelocal que se debe generar se puede utilizar el paraacutemetrolocales en la opcioacuten --bootappend-live de lb configpej
$ lb config --bootappend-live 509
locales=de_CHUTF-8
Este paraacutemetro tambieacuten se puede utilizar en la liacutenea de coman- 510
dos del kernel Se puede especificar una variante local usandouna palabra completa language_countryencoding
Tanto la configuracioacuten del teclado de la consola y del entorno 511
32
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3855
Manual Debian Live
graacutefico X dependen del paraacutemetro keyboard-layouts de la op-cioacuten --bootappend-live Se pueden encontrar opciones vaacutel-idas de la disposicioacuten del teclado en usrshareX11xkb-rulesbasexml (bastante limitado a los coacutedigos de paiacutes dedos letras) Para hallar el valor (los dosletras) quecorresponde
a un idioma se puede buscar el nombre en ingleacutes de la nacioacutendonde se habla el idioma por ejemplo
$ grep -i sweden -C3 usrshareX11xkbrulesbasexml512
| grep nameltnamegtseltnamegt
Por ejemplo para obtener los ficheros de la variante local de la513
disposicioacuten delteclado alemaacuteny suizo-alemaacutenen X usar
$ lb config --bootappend-live locales=de_CHUTF-8514
keyboard-layouts=ch
Se puede ver una lista de los valores de teclados vaacutelidos para515
la consola con el siguiente comando
$ for i in $(find usrsharekeymaps -iname516
kmapgz) do basename $i | head -c -9 echo done | sort |
less
Alternativamente se puede usar el paquete console-setup517
una herramienta que permite configurar la disposicioacutende la consola utilizando definiciones X (XKB) a contin-uacioacuten se puede configurar el teclado con mayor precisioacutencon las variables keyboard-layouts keyboard-variant
keyboard-options y keyboard-model live-boot tambieacutenusaraacute estos paraacutemetros para la configuracioacuten de X Porejemplo para establecer un sistema franceacutes con una dis-tribucioacuten de teclas franceacutes-Dvorak (llamado Bepo) en unteclado TypeMatrix tanto en consola X como X11 se puedeutilizar
$ lb config --bootappend-live 518
locales=fr_FRUTF-8 keyboard-layouts=frkeyboard-variant=bepo keyboard-model=tm2030usb
103 Persistencia (Modo guardar cambios) 519
Un paradigma de un cd en vivo (laquolive cdraquo N del T) es ser un 520
sistema pre-instalado que funciona desde medios de almace-
namiento de soacutelo lectura como un CD-ROM donde los cam-bios y las modificaciones no se guardan tras reiniciar el sistemaen que se ejecuta
Un sistema Debian Live es una generalizacioacuten de este 521
paradigma pero que es compatible con otros medios de alma-cenamiento no soacutelo en CDs Auacuten asiacute en su comportamientopredeterminado se debe considerar un sistema de soacutelo lecturay todos los cambios en tiempo de ejecucioacuten del sistema sepierden al apagar el equipo
La persistencia (o modo guardar cambios) es un nombre 522
comuacuten que se daacute a los diferentes tipos de soluciones paraguardar algunos o todos los cambios realizados durantela ejecucioacuten tras reiniciar el sistema Para entender coacutemofunciona es uacutetil saber que incluso si el sistema se inicia y seejecuta desde los medios de almacenamiento de soacutelo lecturalas modificaciones de los ficheros y directorios se escribenen medios de escritura por lo general en la memoria ram(tmpfs) y los datos guardados en la ram no se guardan trasreiniciar
Los datos almacenados en esta memoria ram se pueden 523
guardar en un soporte grabable como un disco duro unamemoria USB un recurso compartido de red o incluso enuna sesioacuten de un CDDVD regrabable en multisesioacuten Todosestos medios son compatibles con Debian Live de diferentesmaneras y todos menos el uacuteltimo requieren un paraacutemetrode arranque especial que se especificaraacute en el momento delarranque persistent
33
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 3955
Manual Debian Live
1031 Persistencia total 524
Por laquoPersistencia totalraquo se entiende la utilizacioacuten de una parti-525
cioacuten de escritura en lugar de usar un tmpfs (sistema de ficherostemporal) para guardar los cambios realizados a los medios de
soacutelo lectura (con el sistema copiar-al-escribir o COW laquocopy-on- writeraquo N del T) Para utilizar esta funcioacuten se debe crear unaparticioacuten grabable vaciacutea con la etiqueta laquolive-rwraquo formateadacon un sistema de ficheros compatible en el medio usado paraarracar el sistema en vivo En el momento de arrancar se debeiniciar el sistema con el paraacutemetro de arranque `persistentEsta particioacuten puede ser una particioacuten ext2 en el disco duroo en una memoria USB creada con por ejemplo
mkfsext2 -L live-rw devsdb1526
Ver lsaquoUsar el espacio libre en el dispositivo USBrsaquo527
Si ya existe una particioacuten en el dispositivo soacutelo se tiene que528
cambiar la etiqueta con uno de los siguientes
tune2fs -L live-rw devsdb1 for ext234529
filesystems
Pero ya que los usuarios de un sistema en vivo no siempre530
pueden utilizar una particioacuten del disco duro y teniendo encuenta que la mayoriacutea de memorias USB tienen velocidadesde escritura lentas la persistencia total tambieacuten puede serusada con ficheros imagen de este modo se puede crear
un fichero que represente una particioacuten y poner ese ficheroimagen incluso en una particioacuten NTFS de un sistema operativono nativo con algo similar a esto
$ dd if=devnull of=live-rw bs=1G seek=1 for a 1GB531
sized image file$ sbinmkfsext2 -F live-rw
A continuacioacuten copiar el fichero live-rw a un particioacuten532
grabable y reiniciar el sistema con el paraacutemetro de arranquelaquopersistentraquo
1032 Montar Home de forma automaacutetica 533
Si durante el arranque se encuentra una particioacuten (sistema 534
de ficheros) con un fichero imagen o una particioacuten con la eti-queta home-rw el sistema de ficheros seraacute montado de forma
automaacutetica como home lo que permite la persistencia de losficheros que pertenecen a por ejemplo el usuario por defectoSe puede combinar con persistencia total
1033 Instantaacuteneas 535
Las instantaacuteneas son colecciones de ficheros y directorios que 536
no se montan durante la ejecucioacuten pero que se copian desdeun dispositivo persistente al sistema (tmpfs) en el arranquey que se resincroniza en el reinicioapagado del sistema Elcontenido de una instantaacutenea puede residir en una particioacuten oen un fichero imagen (como los tipos mencionados anterior-mente) con la etiqueta live-sn pero el valor predeterminadoes un archivo cpio simple denominado live-sncpiogzComo en el caso anterior en el momento del arranque losdispositivos conectados al sistema se recorren buscandouna particioacuten o un fichero llamado asiacute Una interrupcioacuten dela alimentacioacuten en tiempo de ejecucioacuten podriacutea conducir a lapeacuterdida de datos por lo tanto se puede usar la herramientalive-snapshot --refresh para sincronizar cambios impor-
tantes Este tipo de persistencia es la menos agresiva condispositivos tipo flash y el maacutes raacutepido de todos los sistemas depersistencia ya que no escribe continuamente en los mediosde almacenamiento
Existe tambieacuten una versioacuten de la instantaacutenea home y su eti- 537
queta es home-sn quefuncionaigualque la instantaacutenea prin-cipal pero soacutelo se aplica a home
Las instantaacuteneas actualmente no pueden manejar el borrado 538
34
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4055
Manual Debian Live
de ficheros pero la persistencia total y el montaje automaacutetico siacutepueden
1034 SubText persistente539
Si un usuario necesita un almacenamiento persistente muacutelti-540
ple del mismo tipo para diferentes lugares o pruebas talescomo live-rw-nonwork y live-rw-work el paraacutemetro dearranque persistent-subtext usado junto con el paraacutemetrode arranque persistent permitiraacute medios de almacenamientopersistentes muacuteltiples pero uacutenicos Un ejemplo seriacutea si unusuario desea utilizar una particioacuten persistente etiquetadalive-sn-subText usariacutea los paraacutemetros de arranque depersistent persistent-subtext=subText
1035 Remasterizacioacuten parcial541
La modificacioacuten en tiempo de ejecucioacuten de la tmpfs podriacutea ser542
guardada usando una instantaacutenea en vivo en un squashfs yantildeadirla a un cd remasterizando la iso en el caso de un cd-r o antildeadiendo una sesioacuten a un cddvd(rw) multisesioacuten live-
boot monta todo el sistema de ficheros live en orden o conel paraacutemetro del moacutedulo de arranque
11 Personalizacioacuten de la imagen binaria 543
111 Gestor de arranque544
live-build utiliza syslinux como gestor de arranque por defecto545
el cual estaacute configurado de forma predeterminada para haceruna pausa indefinida en su pantalla de bienvenida Para modi-ficar esto se puede pasar --syslinux-timeout TIMEOUT a lbconfig El valor se especifica en segundos Un tiempo de es-
pera de 0 (cero) desactiva el tiempo de espera por completoPara obtener maacutes informacioacuten consultar syslinux (1)
112 Metadatos ISO 546
Al crear una imagen binaria ISO9660 se pueden utilizar las 547
siguientes opciones para antildeadir varios metadatos textuales ala imagen Esto puede ayudar a identificar faacutecilmente la versioacuteno la configuracioacuten de una imagen sin arrancarla
bull LB_ISO_APPLICATION--iso-application NAME Esto de- 548
beriacutea especificar la aplicacioacuten que estaraacute en la imagen Lalongitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PREPARER--iso-preparer NAME Esto deberiacutea iden- 549
tificar quieacuten prepara la imagen por lo general con algunos
detalles de contacto El valor predeterminado para esta op-cioacuten es la versioacuten de live-build que se estaacute utilizando lo quepuede ayudar con la posterior depuracioacuten de errores La lon-gitud maacutexima para este campo es de 128 caracteres
bull LB_ISO_PUBLISHER--iso-publisher NAME Esto deberiacutea 550
identificar quieacuten publica la imagen por lo general conalgunos detalles de contacto La longitud maacutexima para estecampo es de 128 caracteres
bull LB_ISO_VOLUME--iso-volume NAME Esto deberiacutea especi- 551
ficar el volumen de identificacioacuten de la imagen Esto se utilizacomo etiqueta visible para el usuario en algunas plataformascomo Windows y Apple Mac OS La longitud maacutexima paraeste campo es de 32 caracteres
12 Personalizacioacuten del Instalador de Debian 552
Las imaacutegenes de sistemas Debian Live pueden integrarse con 553
el Instalador de Debian Hay varios tipos de instalacioacuten que se
35
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4155
Manual Debian Live
diferencian en queacute se incluye en la imaacutegen y en coacutemo opera elinstalador
En esta seccioacuten se debe estar atento a la utilizacioacuten de las554
mayuacutesculas Cuando se utiliza laquoInstalador de Debianraquo conmayuacutesculas se hace referencia expliacutecita al instalador oficial
del sistema Debian y a nada maacutes ni a ninguacuten otro instaladorA menudo se abrevia con laquod-iraquo
121 Tipos de imaacutegenes seguacuten el instalador555
Principalmente existen tres tipos de imaacutegenes seguacuten el instal-556
ador
Imaacutegenes con Instalador Debian laquoofficialraquo Esta imagen557
de Debian Live se puede considerar como la imagen habitual
Dispone de un kernel y un initrd diferenciados que al ser se-leccionados desde el gestor de arranque ejecuta un Instaladorde Debian estaacutendar de la misma manera que lo hariacutea si se ar-rancase desde una imagen de CD descargada desde el sitiooficial de Debian Las imaacutegenes que contienen un sistema envivo con otro instalador independiente se suelen llamar laquoimaacute-genes combinadasraquo
En estas imaacutegenes el sistema operativo Debian se instala558
mediante la herramienta debootstrap o cdebootstrap quedescarga paquetes deb desde medios locales o por red local
y los instala de forma tradicional El resultado final es unsistema Debian estaacutendar instalado en el disco duro
El conjunto de este proceso puede ser preconfigurado (pre-559
seeded) y personalizado de muchas maneras Para maacutes in-formacioacuten ver las paacuteginas relevantes en el manual del Insta-lador de Debian Una vez que se ha generado el fichero depreconfiguracioacuten adecuado a las necesidades live-build puedeencargarse de depositarlo en la imageny activarlo de forma au-tomaacutetica
Imaacutegenes con Instalador Debian laquoLiveraquo Estas imaacutegenes de 560
Debian Live tambieacuten disponen de un kernel y un initrd diferen-ciados que al ser seleccionados desde el gestor de arranqueejecutan un Instalador de Debian algo diferente
El procedimiento de instalacioacuten es ideacutentico al realizado por las 561
imagenes laquoRegularesraquo pero en lugar de utilizar debootstrappara obtener e instalar paquetes deb lo que hace es copiaral disco duro la imagen del sistema de ficheros que se habiacuteapreparado para lanzar el sistema en vivo Esto se logra medi-ante un udeb especial llamado live-installer
Una vez finalizada esta etapa el Instalador de Debian continua 562
normalmente instalando y configurando los siguientes elemen-tos como pueden ser gestor de arranque creacioacuten de usuarioslocales etc
Nota Para poder arrancar los dos tipos de imaacutegenes 563
Regular y Live en el mismo medio el gestor de ar-ranque debe poder deshabilitar live-installer Esto sehace utilizando la variable de preconfiguracioacuten (preseed)live-installerenable=false
Instalador Debian laquodel escritorioraquo Una vez el sistema en 564
vivo estaacute ejecutandose se puede lanzar el Instalador de De-bian haciendo clic en el icono correspondiente sin importar eltipo de Instalador Debianutilizadoen el arranque Esta manera
de instalar Debian es maacutes sencilla para el usuario y aconse- jable en algunas situaciones Para poder realizar esta accioacutense debe instalar el paquete debian-installer-launcher
Por defecto live-build no incluye las imaacutegenes que utilizan el 565
Instalador de Debian Esto debe ser habilitado de forma es-peciacutefica en lb config Tambieacuten hay que hacer notar que paraque la instalacioacuten desde laquoel escritorioraquo funcione el kernel delsistema en vivo debe ser el mismo que el kernel que utiliza d-ien la arquitectura especificada Por ejemplo
36
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4255
Manual Debian Live
$ lb config --architecture i386 --linux-flavours 486566
--debian-installer live
$ echo debian-installer-launcher gtgtconfigpackage-listsmylistchroot
122 Personalizando el Instalador de Debian mediante567
preconfiguracioacuten
Tal y como se describe en el apeacutendice B del man-568
ual del Instalador de Debian que puede consultarse enlsaquohttpwwwdebianorgreleasesstablei386apbhtmlrsaquo laquoLa preconfig-uracioacuten permite asociar respuestas a preguntas que aparecenen el proceso de instalacioacuten sin tener que responderlasmanualmente en el momento se se ejecuta dicho procesoEsto hace posible automatizar totalmente la mayoria de lasinstalaciones e incluso ofrece alguna caracteriacutestica que noestaacute disponible durante una instalacioacuten normalraquo Con live-build
se puede llevar a cabo esta personalizacioacuten depositando unfichero llamado preseedcfg en el directorio de configuracioacutenconfigbinary_debian-installer Por ejemplo parapreconfigurar la variante local a es_ES se puede hacer
$ echo d-i debian-installerlocale string es_ES569
gtgt
configbinary_debian-installerpreseedcfg
123 Personalizar el contenido del Instalador de570
Debian
Es posible que con propoacutesitos experimentales o para depu-571
racioacuten se desee incluir paquetes udeb creados localmenteEstos paquetes udeb son componentes del Instalador de De-bian que definen su comportamiento Para incluirlos en la ima-gen basta con depositarlos en el directorio de configuracioacuten
configbinary_local-udebs Tambieacuten pueden incluirse oreemplazarse ficheros y directorios en el initrd del instaladorde una manera similar a la que se describe en lsaquo Includes lo-cales en Livechrootrsaquo depositando el material en el directorioconfigbinary_debian-installer-includes
Proyecto 572
13 Informes de errores 573
Debian Live estaacute lejos de ser perfecto pero queremos que sea 574
lo maacutes perfecto posible - con tu ayuda No dudar en informar deun error es mejor llenar un informe dos veces que no hacerlonunca Sin embargo este capiacutetulo incluye recomendacionessobre coacutemo presentar buenos informes de errores
Para los impacientes 575
bull Primero siempre se debe comprobar el estado actualizado 576
de la imagen en busca de problemas conocidos en la paacutegina web lsaquohttplivedebiannetrsaquo
bull Se debe intentar reproducir el error con las versiones maacutes 577
recientes de live-build live-boot y live-config antes de pre-sentar un informe de errores
bull Se debe intentar dar la informacioacuten tan especiacutefica como 578
sea posible acerca del error Esto incluye (al menos) la
versioacuten de live-build live-boot y live-config utilizada y la dis-tribucioacuten del sistema en vivo que estaacute construyendo
131 Problemas conocidos 579
Debido a que Debian testing y Debian unstable estaacuten cam- 580
biando continuamente no siempre es posible crear un sistemacon eacutexito cuando se especifica cualquiera de estas dos ver-siones
37
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4355
Manual Debian Live
Si esto causa mucha dificultad no se debe crear un sistema581
basadoen testing o unstable sino que debe utilizarse stable
Live-build siempre utiliza pordefecto la versioacuten stable
Los problemas detectados se especifican en la seccioacuten `status582
de la paacutegina web lsaquohttplivedebiannetrsaquo
Estaacute fuera delalcance de este manual ensentildear coacutemo identificar583
y solucionar correctamente problemas de los paquetes de lasdistribuciones en desarrollo sin embargo hay dos cosas quesiempre se puede intentar Si se detecta un error de creacioacutencuando la distribucioacuten de destino es testing se debe intentarcon unstable Si unstable no funciona bien se debe volver atesting haciendo un pin con la nueva versioacuten del paquete deunstable (veacutease lsaquoAPT pinningrsaquo para maacutes detalles)
132 Reconstruir desde cero584
Para asegurarse de que un error en particular no es causado585
por crear el sistema basaacutendose en los datos de un sistema an-terior se debe reconstruir el sistema en vivo entero desde elprincipio y comprobar si el error es reproducible
133 Utilizar paquetes actualizados586
Utilizar paquetes obsoletos puede causar problemas impor-587tantes al tratar de reproducir (y en uacuteltima instancia solucionar)el problema Hay que asegurarse de que el sistema de con-struccioacuten estaacute actualizado y cualquier paquete que se incluyaen la imagen esteacute tambieacuten al diacutea
134 Recopilar informacioacuten588
Se debe proporcionar informacioacuten suficiente con el informe589
Como miacutenimo la versioacuten exacta de live-build donde se encuen-tra el error y los pasos para reproducirlo Se debe utilizar elsentido comuacuten e incluir cualquier informacioacuten pertinente si secree que podriacutea ayudar a resolver el problema
Para sacar el maacuteximo provecho de un informe de errores se 590
requeriraacute al menos la siguiente informacioacuten
bull Arquitectura del sistema anfitrioacuten 591
bull La versioacuten de live-build del sistema anfitrioacuten 592
bull Versioacuten de live-boot en el sistema en vivo 593
bull Versioacuten de live-config en el sistema en vivo 594
bull Versioacuten de debootstrap yo cdebootstrap en el sistema an- 595
fitrioacuten
bull Arquitectura del sistema en vivo 596
bull Distribucioacuten del sistema en vivo 597
bull Versioacuten del kernel en el sistema en vivo 598
Se puede generar un log del proceso de creacioacuten mediante el 599
comando tee Se recomienda hacer esto de forma automaacuteticacon un script autobuild (ver lsaquoGestionar una configuracioacutenrsaquopara maacutes detalles)
lb build 2gtamp1 | tee buildlog 600
En el momento del arranque live-boot guarda un log en var- 601
loglivelog (o varloglive-bootlog)
Ademaacutes para descartar otros errores siempre es una buena 602
idea comprimir en un tar el directorio config y subirlo a alguacutenlugar para que el equipo de Debian Live pueda reproducir elerror (No se debe enviar como documento adjunto a la listade correo) Si esto es difiacutecil (por ejemplo debido a su tamantildeo)se puede utilizar la salida del comando lb config --dump que
38
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4455
Manual Debian Live
produce un resumen del aacuterbol de configuracioacuten (es decir lis-tas de archivos de los subdirectorios de config pero no losincluye)
Hay que recordar que los informes a enviar se deben hacer603
en ingles por lo que para generar los logs en este idioma sedebe utilizar la variante local English pej ejecutar los coman-dos de live-build o cualquier otro precedidos de LC_ALL=C oLC_ALL=en_US
135 Aislar el fallo si es posible604
Si es posible aislar el caso del fallo al menor cambio posible605
que lo produzca No siempre es faacutecil hacer esto asiacute que sino se consigue para su informe no hay que preocuparse Sin
embargo si se planea el ciclo de desarrollo bieacuten con conjun-tos de cambios lo bastante pequentildeos por iteracioacuten puede serposible aislar el problema mediante la construccioacuten de unasim-ple laquobaseraquo de configuracioacuten que se ajuste a la configuracioacutenactual deseada maacutes el conjunto del cambio que falla antildea-dido Si resulta difiacutecil determinar que cambios produjeron elerror puede ser que se haya incluido demasiado en cada con- junto de cambios y se deba desarrollar en incrementos maacutespequentildeos
136 Utilizar el paquete correcto sobre el que informar del606
error
iquestDoacutende aparece el error607
1361 En la preinstalacioacuten (bootstrap) en tiempo de608
creacioacuten
live-build arranca primero un sistema Debian baacutesico con609
debootstrap o cdebootstrap Puede fallar dependiendo dela herramienta usada en la preinstalacioacuten y de la distribucioacutenDebian empleada Si un error aparece en este momento sedebe comprobar si estaacute relacionado con un paquete especiacuteficode Debian (es lo maacutes probable) o si estaacute relacionado con la
herramienta de preinstalacioacuten en siacuteEn ambos casos esto no es un error de Debian Live sino de 610
Debian en siacute mismo por lo cual el equipo de Debian Live nopuede solucionarlo directamente Informe del error sobre laherramienta de preinstalacioacuten o el paquete que falla
1362 Mientras se instalan paquetes en tiempo de 611
creacioacuten
live-build instala paquetes adicionales del archivo de Debian 612
que pueden fallar en funcioacuten de la distribucioacuten Debian utilizaday del estado diario del archivo Debian Se debe comprobar siel error es reproducible en un sistema Debian normal si el falloaparece en esta etapa
Si este es el caso esto no es un error de Debian Live sino 613
de Debian - se debe informar sobre el paquete que falla Sepuede obtener maacutes informacioacuten ejecutando debootstrap deforma separada del sistema de creacioacuten en vivo o ejecutandolb bootstrap --debug
Ademaacutes si se estaacute utilizando una reacuteplica local yo cualquier tipo 614
de proxy y se experimenta un problema se debe intentar repro-ducir siempre preinstalando desde una reacuteplica oficial
1363 En tiempo de arranque 615
Si la imagen no arranca se deberiacutea informar la lista de correo 616
junto con la informacioacuten solicitada en lsaquoRecopilar informacioacutenrsaquoNo hay que olvidar mencionar coacutemo y cuando la imagen falla
39
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4555
Manual Debian Live
en Qemu VirtualBox VMWare o hardware real Si se estaacute uti-lizando una tecnologiacutea de virtualizacioacuten de cualquier tipo sedebe probar la imagen en hardware real antes de informar deun error Proporcionar una captura de pantalla del error tam-bieacuten es muy uacutetil
1364 En tiempo de ejecucioacuten617
Si un paquete se ha instalado correctamente pero falla cuando618
se ejecuta el sistema en vivo esto es probablemente un erroren Debian Live Sin embargo
137 Hacer la investigacioacuten619
Antes de presentar el informe de errores buscar en la web el620
mensaje de error en particular o el siacutentoma que se estaacute percibi-endo Como es muy poco probable que sea la uacutenica personaque tiene ese problema en concreto siempre existe la posibili-dad de que se haya discutido en otras partes y exista una posi-ble solucioacuten parche o se haya propuesto una alternativa
Se debe prestar especial atencioacuten a la lista de correode Debian621
Live asiacute como su paacutegina principal ya que seguramente tienenla informacioacuten maacutes actualizada Si esa informacioacuten existe sedebe incluir la referencia a ella en su informe de errores
Ademaacutes se debe comprobar las listas de errores actuales de622
live-build live-boot y live-config y verificar si se ha informadoya de algo similar
138 Doacutende informar de los fallos623
El proyecto Debian Live realiza un seguimiento de todos los er-624
rores en el sistema de seguimiento de fallos de Debian (BTS)Para obtener informacioacuten sobre coacutemo utilizar el sistema
consultar lsaquohttpbugsdebianorgrsaquo Tambieacuten se puede enviar loserrores mediante el comando reportbug del paquete con elmismo nombre
En general se debe informar sobre los errores en tiempo de 625
creacioacuten en el BTS contra el paquete live-build De los fallosen el tiempo de arranque contra el paquete live-boot y de loserrores en tiempo de ejecucioacuten contra el paquete live-config Sino se estaacute seguro de queacute paquete es el adecuado o se necesitamaacutes ayuda antes de presentar un informe de errores lo mejores enviar un mensaje a la lista de correo y el equipo de DebianLive le ayudaraacute a resolverlo
Hay que tener en cuenta que los errores que se encuentran en 626
las distribuciones derivadas de Debian (como Ubuntu y otros)NO deben enviarse al BTS de Debian a menos que tambieacuten
se puedan reproducir en un sistema Debian usando paquetesoficiales de Debian
14 Estilo de coacutedigo 627
En este capiacutetulo se documenta el estilo de coacutedigo utilizado en 628
live-boot y otros
141 Compatibilidad 629
bull No utilizar sintaxis o semaacutentica que sea uacutenica para el inteacuter- 630
prete de comandos Bash Por ejemplo el uso de matrices
bull Utilizar uacutenicamente el subconjunto POSIX - por ejemplo usar 631
$(foo) en lugar de `foo`
bull Se puede comprobar las secuencias de comandos con `sh 632
-n y `checkbashisms
40
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4655
Manual Debian Live
142 Sangrado 633
bull Utilizar siempre los tabuladores en lugar de espacios634
143 Ajuste de liacuteneas635
bull En general lasliacuteneas contienen80 caracteres como maacuteximo636
bull Utilizar los saltos de liacutenea al laquoestilo Linuxraquo637
Mal638
if foo then639
barfi
Bien640
if foo641then
barfi
bull Lo mismo vale para las funciones642
Mal643
foo () 644
bar
Bien645
foo ()646
bar
144 Variables647
bull Las variables deben escribirse siempre en letras mayuacutesculas648
bull Las variables que se utiliza en lb config siempre comienzan649
con el prefijo LB_
bull Las variables temporales internas del live-build deben 650
comenzar con el prefijo _LB_
bull Las variables locales comienzan con el prefijo live-build 651
__LB_
bull Las variables en relacioacuten a un paraacutemetro de arranque en live- 652
config comienzan con LIVE_
bull Todas las demaacutes variables de live-config comienzan con el 653
prefijo _
bull Utilizar llaves para las variables por ejemplo escribir $FOO 654
en lugar de $FOO
bull Utilizar comillas dobles en las variables para evitar dejar es- 655
pacios en blanco Escribir ldquo$FOOrdquo en lugar de $FOO
bull Por motivos de coherencia se debe utilizar siempre comillas 656
en la asignacioacuten de valores a las variables
Mal 657
FOO=bar 658
Bien 659
FOO=bar 660
bull Si se utilizan muacuteltiples variables incluir la expresioacutencompleta 661
entre comillas dobles
Mal 662
if [ -f $FOOfoo$BARbar ] 663
thenfoobar
fi
Bien 664
if [ -f $FOOfoo$BARbar ] 665
41
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4755
Manual Debian Live
thenfoobar
fi
145 Miscelaacutenea 666
bull Se debe utilizar ldquo|rdquo (sin comillas) como separador cuando se667
invoque a sed pej ldquosed -e `s|foo|bar|rdquo (Pero sin lascomillas ldquo)
bull No se debe utilizar el comando test para hacer compara-668
ciones o pruebas usar ldquo[rdquo ldquo]rdquo (sin ldquo) pej rdquoif [ -x bin-foo ] ldquo en lugar de rdquoif test -x binfoo rdquo
bull Se debe utilizar case siempre que sea posible en lugar de669
test ya que es maacutes faacutecil de leer y maacutes raacutepido en la ejecu-
cioacuten
15 Procedimientos670
Este capiacutetulo documenta los procedimientos dentro del671
proyecto Debian Live para diversas tareas que requieren lacooperacioacuten con otros equipos de Debian
151 Subir Udebs672
Antes de enviar una nueva versioacuten de un udeb al d-i svn uno673
tiene que ejecutar
$ scriptsl10noutput-l10n-changes -d674
152 Principales lanzamientos675
El lanzamiento de una nueva versioacuten estable de Debian involu-676
cra a una gran cantidad de equipos diferentes que trabajan
juntos para conseguirlo En un momento dado el equipo Liveaparece y desarrolla imaacutegenes en vivo del sistema Los requi-sitos para ello son
bull Una reacuteplica de las versiones publicadas de los archivos de 677
debian debian-security y debian-volatile a la que pueda ac-
ceder el programa creador de debian-live (live-build )
bull Es necesario conocer el nombre de la imagen (pej debian- 678
live-VERSION-ARCH-FLAVOURiso)
bull Es necesario haber actualizado la lista de paquetes 679
bull Es necesario sincronizar los datos de debian-cd (lista de ex- 680
clusioacuten de udeb)
bull Es necesariosincronizar la lista de los paquetes de debian-cd 681
incluidos (README doc etc)
bull Las imaacutegenes se crean y se almacenan en cdim- 682
agedebianorg
153 Nuevas versiones 683
bull Una vez maacutes se necesita una reacuteplica actualizada de Debian 684
debian-security y debian-volatile
bull Las imaacutegenes se crean y se almacenan en cdim- 685
agedebianorg
bull Correo para enviar anuncios 686
1531 Plantilla para anunciar nuevas versiones 687
Se puede generar un anuncio de nuevas versiones usando la 688
siguiente plantilla y el siguiente comando
$ sed 689
-e s|major|50|g -e s|minor|502|g
42
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4855
Manual Debian Live
-e s|codename|lenny|g -e s|release_mail|2009msg00007html|g
Revisar el mensaje de correo con cuidado antes de enviarlo a690
otras personas para su correccioacuten
Imaacutegenes de Debian en vivo para Debian GNULinux major691actualizadas
El proyecto Debian Live se complace en anunciar ladisponibilidad de las imaacutegenes en vivo actualizadas parasu distribucioacuten estable de Debian GNU Linuxmajor
(nombre en clave codename)
Las imaacutegenes estaacuten disponibles para su descarga en
lthttp
cdimagedebianorgcdimagereleasecurrent-livegt
Esta actualizacioacuten incorpora las modificacionesintroducidas en la nueva versioacuten minor
la cual antildeade correcciones para problemas de seguridada la versioacuten estable
junto con algunos ajustes para problemas graves Sepuede consultar
una lista completa de los cambios en
lthttplistsdebianorgdebian-announcerelease_mailgt
Tambieacuten incluye los siguientes cambios especiacuteficos delproyecto Live
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[INSERTAR CAMBIOS ESPECIacuteFICOS DEL PROYECTO LIVEAQUI]
[LAS CUESTIONES MAacuteS IMPORTANTES PUEDEN MERECER SUPROPIA SECCIOacuteN]
URLs
----
Sitio de descarga de imaacutegenes actualizadas
lthttpcdimagedebianorgcdimagereleasecurrent-livegt
Paacutegina principal del proyecto Debian Live
lthttplivedebiannetgt
La distribucioacuten estable actual
lthttpftpdebianorgdebiandistsstablegt
Informacioacuten acerca de la distribucioacuten estable (notas depublicacioacuten errores etc)
lthttpwwwdebianorgreleasesstablegt
Anuncios de seguridad e informacioacuten
lthttpwwwdebianorgsecuritygt
Acerca de Debian-------------
El Proyecto Debian es una asociacioacuten de desarrolladoresde Software Libre que
ofrecen voluntariamente su tiempo y esfuerzo con el finde producir el
sistema operativo libre Debian GNULinux
Acerca de Debian Live-----------------
Debian Live es un sub-proyecto oficial de Debian queproduce sistemas
Debian que no requieren una instalacioacuten claacutesica Lasimaacutegenes estaacuten disponibles
para CDDVD llaves USB y arranque en red PXE asiacutecomo
imaacutegenes de un sistema de ficheros baacutesico para elarranque directamente desde Internet
43
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 4955
Manual Debian Live
Informacioacuten de contacto-------------------
Para maacutes informacioacuten visitar las paacuteginas web de DebianLivelthttplivedebiannetgt o bien enviar un correo altdebian-livelistsdebianorggt
Ejemplos692
16 Ejemplos693
Este capiacutetulo ofrece ejemplos de creacioacuten de imaacutegenes para694
casos de uso especiacuteficos de Debian Live Si se es nuevo en lacreacioacuten de una imagen propia de Debian Live se recomiendamirar primero a los tres tutoriales en secuencia ya que cadauno ensentildea nuevas teacutecnicas que ayudan a utilizar y entenderlos ejemplos restantes
161 Uso de los ejemplos695
Para poder seguir estos ejemplos es necesario un sistema696
donde crearlos que cumpla con los requisitos enumerados enlsaquoRequisitosrsaquo y tener live-build instalado tal y como se describeen lsaquoInstalacioacuten de live-buildrsaquo
Hay que tener en cuenta que para abreviar en estos ejemplos697
no se especifica una reacuteplica local para la creacioacuten de laimagen Es posible acelerar las descargas considerablementesi se utiliza una reacuteplica local Se puede especificar las op-ciones cuando se usa lb config tal y como se describeen lsaquoReacuteplicas de Distribution utilizadas durante la creacioacutenrsaquoo para maacutes comodidad establecer el valor por defecto parala creacioacuten del sistema en etclivebuildconf Bastacon crear este fichero y en el mismo establecer las variables
LB_PARENT_MIRROR_ correspondientes a la reacuteplica preferidaTodas las demaacutes reacuteplicas usadas en el proceso de creacioacutenusaraacuten estos valores por defecto Por ejemplo
LB_PARENT_MIRROR_BOOTSTRAP=httpmirrordebian 698
LB_PARENT_MIRROR_CHROOT_SECURITY=http
mirrordebian-security
LB_PARENT_MIRROR_CHROOT_BACKPORTS=httpmirrordebian-updates
162 Tutorial 1 Una imagen estaacutendar 699
Caso praacutectico Crear una primera imagen sencilla aprendi- 700
endo los fundamentos de live-build
En este tutorial vamos a construir una imagen ISO hybrid por 701
defecto de Debian Live que contenga uacutenicamente los paquetesbase (sin Xorg) y algunos paquetes de soporte Debian Livecomo un primer ejercicio en el uso de live-build
No puede ser maacutes faacutecil que esto 702
$ mkdir tutorial1 cd tutorial1 lb config 703
Si se examina el contenidodel directorio config se veraacute alma- 704
cenada alliacute una configuracioacuten en esqueleto preparada para serpersonalizada o en este caso para ser usada inmediatamentepara construir una imagen por defecto
Ahora como superusuario crear la imagen guardando un log705
con tee mientras se crea
lb build 2gtamp1 | tee binarylog 706
Suponiendo que todo va bien despueacutes de un rato el direc- 707
torio actual contendraacute binary-hybridiso Esta imagen ISOhiacutebrida se puede arrancar directamente en una maacutequina vir-tual como se describe en lsaquoProbar una imagen ISO con Qemursaquoy en lsaquoProbar una imagen ISO con virtualbox-osersaquo o bien sercopiada a un medio oacuteptico como un dispositivo USB tal y como
44
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5055
Manual Debian Live
se describe en lsaquoGrabar una imagen ISO en un medio fiacutesicorsaquoy lsaquoCopiar una imagen ISO hiacutebrida en un dispositivo USBrsaquo re-spectivamente
163 Tutorial 2 Una utilidad de navegador web708
Caso praacutectico Crear una utilidad de navegador web apren-709
diendo a aplicar personalizaciones
En este tutorial se crearaacute una imagen adecuada para su uso710
como utilidad de navegador web esto sirve como introduccioacutena la personalizacioacuten de las imaacutegenes de Debian Live
$ mkdir tutorial2711
$ cd tutorial2$ lb config -p lxde$ echo iceweasel gtgt
configpackage-listsmylistchrootLa eleccioacuten de LXDE para este ejemplo refleja el deseo de ofre-712
cer un entorno de escritorio miacutenimo ya que el enfoque de la im-agen es el uso individual que se tiene en mente el navegador web Se podriacutea ir auacuten maacutes lejos y ofrecer una configuracioacuten pordefecto para el navegadorweb en configincludeschroot-etciceweaselprofile o paquetes adicionales de soportepara la visualizacioacuten de diversos tipos de contenido web perose deja esto como un ejercicio para el lector
Crear la imagen de nuevo como superusuario guardando un713
log como en el lsaquoTutorial 1rsaquo
lb build 2gtamp1 | tee binarylog714
De nuevo verificar que la imagen estaacute bien y probarla igual que715
en el lsaquoTutorial 1rsaquo
164 Tutorial 3 Una imagen personalizada 716
Caso praacutectico Crear un proyecto para conseguir una im-717
agen personalizada que contenga el software favorito parallevaacuterselo en una memoria USB donde quiera que se vaya yhacerlo evolucionar en revisiones sucesivas tal y como vayancambiando las necesidades y preferencias
Como nuestra imagen personalizada iraacute cambiando durante un 718
nuacutemero de revisiones si se quiere ir siguiendo esos cambiosprobar nuevas cosas de forma experimental y posiblementevolver atraacutes si no salen bien se guardaraacute la configuracioacuten enel popular sistema de control de versiones git Tambieacuten seutilizaraacuten las mejores praacutecticas de configuracioacuten automaacutetica atraveacutes de scripts auto como se describe enlsaquoGestionar una con-figuracioacutenrsaquo
1641 Primera revisioacuten 719
$ mkdir -p tutorial3auto 720
$ cp usrsharelivebuildexamplesautotutorial3auto
$ cd tutorial3
Editar autoconfig del siguiente modo 721
binsh 722
lb config noauto --architecture i386 --linux-flavours 686
--package-lists lxde $
Completar la lista de paquetes local 723
$ echo iceweasel xchat gtgt 724
configpackage-listsmylistchroot
En primer lugar con --architecture i386 se asegura de que 725
en nuestro sistema de creacioacuten amd64 se crea una versioacuten de32-bits adecuada para ser usada en la mayoriacutea de maacutequinasEn segundo lugar se usa --linux-flavours 686 porque no se
45
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5155
Manual Debian Live
espera usar esta imagen en sistemas mucho maacutes viejos Entercer lugar se elige la lista de paquetes lxde para proporcionarun escritorio miacutenimo Y por uacuteltimo se antildeaden dos paquetesiniciales favoritos iceweasel y xchat
Ahora crear la imagen726
lb build727
Tener en cuenta que a diferencia de los dos primeros tutoriales728
ya no se tiene que escribir 2gtamp1 | tee binarylog ya que estose incluye ahora en autobuild
Una vez que se ha probado la imagen (como en el lsaquo Tutorial 1rsaquo)729
y se ha asegurado de que funciona es el momento de iniciarel repositorio git antildeadiendo soacutelo los scripts auto que se acabade crear y luego hacer el primer commit
$ git init730
$ git add auto$ git commit -a -m Initial import
1642 Segunda revisioacuten731
En esta revisioacuten vamos a limpiar desde la primera creacioacuten732
agregar el paquete vlc a nuestra configuracioacuten crear denuevo probar y enviar los cambios al git (laquocommitraquo NdelT)
El comando lb clean limpiaraacute todos los ficheros generados en733las primeras creaciones a excepcioacuten del cacheacute lo cual ahorratener que volver a descargar de nuevo los paquetes Esto ase-gura que el siguiente lb build vuelva a ejecutar todas lasfases para regenerar los ficheros de nuestra nueva configu-racioacuten
lb clean734
Antildeadir ahora el paquete vlc a nuestra lista de paquetes local735
en configpackage-listsmylistchroot
$ echo vlc gtgt 736
configpackage-listsmylistchroot
Crear de nuevo 737
lb build 738
Probar y cuando se esteacute satisfecho enviar la proacutexima revisioacuten739
al git
$ git commit -a -m Adding vlc media player 740
Por supuesto es posible hacer cambios maacutes complicados en 741
la configuracioacuten tal vez antildeadiendo ficheros en los subdirec-torios de config Cuando se envian nuevas revisiones hayque tener cuidado de no editar a mano o enviar los ficheros delnivel superior en config que contienen variables LB_ ya queestos son productos de creacioacuten tambieacuten y son siempre limpia-dos por lb clean y recreados con lb config a traveacutes de sus
respectivos scripts autoHemos llegado al final de nuestra serie de tutoriales Si bien 742
son posibles muchos maacutes tipos de personalizacioacuten aunquesoacutelo sea con las pocas caracteriacutesticas explicadas en estossencillos ejemplos se puede crear una variedad casi infinitade imaacutegenes diferentes Los ejemplos que quedan en estaseccioacuten abarcan varios casos de usos diferentes procedentesde las experiencias recogidas de los usuarios de DebianLive
165 Un cliente VNC kiosk 743
Caso Praacutectico Crear unaimagen con live-build para arrancar 744
directamente un servidor VNC
Hacer un directorio de creacioacuten y crear unaconfiguracioacuten en es- 745
queleto seguacuten la lista estaacutendar-x11 incluyendo gdm3 metacityy xtightvncviewer desactivando los paquetes recomendadospara conseguir un sistema miacutenimo
46
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5255
Manual Debian Live
$ mkdir vnc_kiosk_client746
$ cd vnc_kiosk_client$ lb config -a i386 -k 686 -p standard-x11
--apt-recommends false$ echo gdm3 metacity xvnc4viewer gtgt
configpackage-listsmylistchroot
Crear el directorio etcskel y poner un fichero xsession per-747
sonalizado para el usuario que por defecto ejecutaraacute metacitye iniciaraacute el xvncviewer conectaacutendo al puerto 5901 de un servi-dor en 19216812
$ mkdir -p configchroot_local-includesetcskel748
$ cat _gtconfigchroot_local-includesetcskelxsessionltltEND
binsh
usrbinmetacity amp
usrbinxvncviewer 192168121
exitEND
Crear la imagen749
lb build750
Disfrutar751
166 Una imagen baacutesica para un pendrive USB de752
128M
Caso Praacutectico Crear una imagen estaacutendar quitando algunos753
componentes para que quepa en un pendrive USB de 128Mdejaacutendo espacio libre para poder usarlo
Al optimizar una imagen para adaptarla al tamantildeo de algunos754
medios de almacenamiento es necesario comprender el equi-librio que se estaacute haciendo entre tamantildeo y funcionalidad Eneste ejemplo se recorta tanto soacutelo para dar cabida a material
adicional dentro de un tamantildeo de 128M pero sin hacer nadapara destruir la integridad de los paquetes que contiene talescomo la depuracioacuten de las variantes locales a traveacutes del pa-quete localepurge u otro tipo de optimizaciones laquointrusivasraquoCabe destacar que no se debe usar --bootstrap-flavour
minimal a menos de que realmente se sepa lo que se estaacutehaciendo ya que al omitir paquetes de prioridad importante lomaacutes probable es que se produzca un sistema roto
$ lb config -k 486 -p minimal --binary-indices false 755
--memtest none --apt-recommends false --includes
none
Ahora crear la imagen de forma habitual 756
lb build 2gtamp1 | tee binarylog 757
En el sistema del autor en el momento de escribir esto la 758
configuracioacuten anterior produjo una imagen de 78Mbytes Estose compara favorablemente en tamantildeo con la imagen de166Mbytes producida por la configuracioacuten por defecto en ellsaquoTutorial 1rsaquo
El mayor ahorro de espacio aquiacute en comparacioacuten con la 759
creacioacuten de una imagen estaacutendar en un sistema de arqui-tectura i386 es seleccionar soacutelo la versioacuten del kernel 486 enlugar de la de por defecto -k ldquo486 686rdquo Dejar fuera losiacutendices de APT con --binary-indices false tambieacuten ahorra
una cantidad importante de espacio la desventaja es que esnecesario hacer un apt-get update antes de usar apt enel sistema en vivo Elegir la lista del paquete minimal dejafuera el gran paquete de locales y sus utilidades asociadasDejando los paquetes recomendados con --apt-recommendsfalse se ahorra un poco de espacio adicional a costa de omitiralgunos paquetes que de otro modo podriacutea esperarse queestuvieran alli tal como firmware-linux-free que puede sernecesario para el soporte de cierto hardware Las opciones
47
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5355
Manual Debian Live
restantes recortan pequentildeas cantidades adicionales de espa-cio Es necesario decidir si vale la pena la funcionalidad quese sacrifica con cada optimizacioacuten
167 Un escritorio KDE con variante local e instalador760
Caso praacutectico Crear una imagen del escritorio KDE con la761
variante local Portugueacutes de Brasil con instalador incluido
Se desea crear una imagen iso-hybrid para la arquitectura i386762
con un escritorio preferido en este caso el KDE que contienetodos los mismos paquetes que seriacutean instalados por el pro-grama de instalacioacuten estaacutendar de Debian para KDE
El primer problema es descubrir los nombres de las tareas ade-763
cuadas En la actualidad live-build no puede ayudar en esto
Aunque podriacuteamos tener suerte y encontrarlos a base de prue-bas hay una herramienta grep-dctrl para extraerlos de lasdescripciones de tareas en tasksel-data para prepararlos ase-gurarse de tener ambas cosas
apt-get install dctrl-tools tasksel-data764
Ahora podemos buscar las tareas apropiadas primero765
con
$ grep-dctrl -FTest-lang pt_BR766
usrsharetaskseldebian-tasksdesc
-sTaskDescriptionTask brazilian-portugueseDescription Brazilian Portuguese environment
This task installs programs data files anddocumentation that make it easier for Brazilian
Portuguese speakersto use Debian
Con este comando se descubre quela tarea se llama sencilla-767
mente brazilian-portuguese Ahora para encontrar las tareasrelacionas
$ grep-dctrl -FEnhances brazilian-portuguese 768
usrsharetaskseldebian-tasksdesc-sTaskDescription
Task brazilian-portuguese-desktopDescription Brazilian Portuguese desktop
This task localises the desktop in Brasilian
Portuguese
Task brazilian-portuguese-kde-desktopDescription Brazilian Portuguese KDE desktop
This task localises the KDE desktop in BrazilianPortuguese
Se usaraacute la opcioacuten experimental --language ya que live-build 769
incluye syslinux para pt_BR (ver lsaquoTareas de Escritorio e Id-iomarsaquo para maacutes detalles) Y en el momento del arranque segeneraraacuten las variantes locales pt_BRUTF-8 y se seleccionaraacuteel disentildeo del teclado pt-latin1 Ahora se ponen todas las piezas juntas
$ mkdir live-pt_BR-kde 770
$ cd live-pt_BR-kde$ lb config
-a i386 -k 486 -p kde-desktop --language pt_BR --tasks brazilian-portuguese
brazilian-portuguese-desktopbrazilian-portuguese-kde-desktop
--bootappend-live locales=pt_BRUTF-8keyboard-layouts=pt-latin1
--debian-installer live$ echo debian-installer-launcher gtgt
configpackage-listsmylistchroot
Tener en cuentaque se ha incluido el paquete debian-installer-launcher771
para lanzar el instalador desde el escritorio en vivo y quetambieacuten se ha especificado el kernel 486 ya que actualmentees necesario que el instalador y el kernel del sistema en vivo
48
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5455
Manual Debian Live
coincidan para que el lanzador funcione correctamente
49
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]
5112018 Live Manuallandscape Letter Debian - slidepdfcom
httpslidepdfcomreaderfulllive-manuallandscape-letter-debian 5555
Manual Debian Live
Metadata
SiSU Metadata document information
Document Manifest
lsaquohttplivedebiannetmanualeslive-manualsisu_manifesthtml rsaquoTitle Manual Debian Live
Creator Debian Live Project ltdebian-livelistsdebianorggt
Rights Copyright (C) 2006-2011 Debian Live Project
License Este programa essoftwarelibre puede serredistribuido y o modificado bajo
los teacuterminos de la GNU General Public License publicada por la Free Software Foun-
dation bien de la versioacuten 3 de la Licencia o (a su eleccioacuten) cualquier versioacuten posterior
Este programa se distribuye con la esperanza de que sea uacutetil pero SIN NINGUNA
GARANTIacuteA incluso sin la garantiacutea impliacutecita de COMERCIALIZACIOacuteN o IDONEIDAD
PARA UN PROPOacuteSITO PARTICULAR Consulte la GNU General Public License para
maacutes detalles
Deberiacutea haber recibido una copia de la General Public License GNU junto con
este programa Si no vea lsaquohttpwwwgnuorglicensesrsaquo
El texto completo de la GNU Licencia Puacuteblica General se pueden encontrar
en usrsharecommon-licensesGPL-3
Publisher Debian Live Project ltdebian-livelistsdebianorggt
Date 2011-11-03
Version Information
Sourcefile live-manualssmsst
Filetype SiSU text 20
Source Digest SHA256(live-manualssmsst)=6e7a942b9040c9954ffe8e0e-
c87015faa020f534c3df16ebec7e8fbc312d0e7e
Skin Digest SHA256(skin_debian-liverb)=be92275c5ee3367edeed6539-
01c34601c545c50acecc23ab65594d8e2f4df9af
Generated
Document (dal) last generated Thu Nov 03 211127 +0000 2011
Generated by SiSU 282 of 2011w105 (2011-03-11)
Ruby version ruby 187 (2010-08-16 patchlevel 302) [x86_64-linux]