Live Manual.landscape Letter Debian

55
 Manual Debian Live Debian Live Project <[email protected]> November 3, 2011

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]