aboutsummaryrefslogtreecommitdiffhomepage
path: root/markup/pod/live-manual/media/text/es/examples.ssi
diff options
context:
space:
mode:
Diffstat (limited to 'markup/pod/live-manual/media/text/es/examples.ssi')
-rw-r--r--markup/pod/live-manual/media/text/es/examples.ssi456
1 files changed, 456 insertions, 0 deletions
diff --git a/markup/pod/live-manual/media/text/es/examples.ssi b/markup/pod/live-manual/media/text/es/examples.ssi
new file mode 100644
index 0000000..450e5d6
--- /dev/null
+++ b/markup/pod/live-manual/media/text/es/examples.ssi
@@ -0,0 +1,456 @@
+:B~ Ejemplos
+
+1~examples Ejemplos
+
+Este capítulo ofrece ejemplos de creación de imágenes de sistemas en vivo
+para casos de uso específicos. Si se es nuevo en la creación de una imagen
+en vivo propia, se recomienda leer primero los tres tutoriales en secuencia,
+ya que cada uno enseña nuevas técnicas que ayudan a utilizar y entender los
+ejemplos restantes.
+
+2~using-the-examples Uso de los ejemplos
+
+Para poder seguir estos ejemplos es necesario un sistema donde crearlos que
+cumpla con los requisitos enumerados en {Requisitos}#requirements y tener
+live-build instalado tal y como se describe en {Instalación de
+live-build}#installing-live-build.
+
+Hay que tener en cuenta que, para abreviar, en estos ejemplos no se
+especifica una réplica local para la creación de la imagen. Es posible
+acelerar las descargas considerablemente si se utiliza una réplica local. Se
+puede especificar las opciones cuando se usa #{lb config}#, tal y como se
+describe en {Réplicas de Distribution utilizadas durante la
+creación}#distribution-mirrors-build-time, o para más comodidad, establecer
+el valor por defecto para la creación del sistema en
+#{/etc/live/build.conf}#. Basta con crear este fichero y en el mismo,
+establecer las variables #{LB_MIRROR_*}# correspondientes a la réplica
+preferida. Todas las demás réplicas usadas en el proceso de creación usarán
+estos valores por defecto. Por ejemplo:
+
+code{
+
+ LB_MIRROR_BOOTSTRAP="http://mirror/debian/"
+ LB_MIRROR_CHROOT_SECURITY="http://mirror/debian-security/"
+ LB_MIRROR_CHROOT_BACKPORTS="http://mirror/debian-updates/"
+
+}code
+
+2~tutorial-1 Tutorial 1: Una imagen predeterminada
+
+*{Caso práctico:}* Crear una primera imagen sencilla, aprendiendo los fundamentos de live-build.
+
+En este tutorial, vamos a construir una imagen ISO híbrida por defecto que
+contenga únicamente los paquetes base (sin Xorg) y algunos paquetes de
+soporte, como un primer ejercicio en el uso de live-build.
+
+No puede ser más fácil que esto:
+
+code{
+
+ $ mkdir tutorial1 ; cd tutorial1 ; lb config
+
+}code
+
+Si se examina el contenido del directorio #{config/}# se verá almacenada
+allí una configuración en esqueleto preparada para ser personalizada o en
+este caso para ser usada inmediatamente para construir una imagen por
+defecto.
+
+Ahora, como superusuario, crear la imagen, guardando un log con #{tee}#
+mientras se crea.
+
+code{
+
+ # lb build 2>&1 | tee build.log
+
+}code
+
+Suponiendo que todo va bien, después de un rato, el directorio actual
+contendrá #{live-image-i386.hybrid.iso}#. Esta imagen ISO híbrida se puede
+arrancar directamente en una máquina virtual como se describe en {Probar una
+imagen ISO con Qemu}#testing-iso-with-qemu y en {Probar una imagen ISO con
+VirtualBox}#testing-iso-with-virtualbox o bien ser copiada a un medio óptico
+como un dispositivo USB tal y como se describe en {Grabar una imagen ISO en
+un medio físico}#burning-iso-image y {Copiar una imagen ISO híbrida en un
+dispositivo USB}#copying-iso-hybrid-to-usb, respectivamente.
+
+2~tutorial-2 Tutorial 2: Una utilidad de navegador web
+
+*{Caso práctico:}* Crear una utilidad de navegador web, aprendiendo a aplicar personalizaciones.
+
+En este tutorial, se creará una imagen adecuada para su uso como utilidad de
+navegador web, esto sirve como introducción a la personalización de las
+imágenes de sistemas en vivo.
+
+code{
+
+ $ mkdir tutorial2
+ $ cd tutorial2
+ $ lb config
+ $ echo "task-lxde-desktop iceweasel" >> config/package-lists/my.list.chroot
+
+}code
+
+La elección de LXDE para este ejemplo refleja el deseo de ofrecer un entorno
+de escritorio mínimo, ya que el enfoque de la imagen es el uso individual
+que se tiene en mente, el navegador web. Se podría ir aún más lejos y
+ofrecer una configuración por defecto para el navegador web en
+#{config/includes.chroot/etc/iceweasel/profile/}#, o paquetes adicionales de
+soporte para la visualización de diversos tipos de contenido web, pero se
+deja esto como un ejercicio para el lector.
+
+Crear la imagen, de nuevo como superusuario, guardando un log como en el
+{Tutorial 1}#tutorial-1:
+
+code{
+
+ # lb build 2>&1 | tee build.log
+
+}code
+
+De nuevo, verificar que la imagen está bien y probarla igual que en el
+{Tutorial 1}#tutorial-1.
+
+2~tutorial-3 Tutorial 3: Una imagen personalizada
+
+*{Caso práctico:}* Crear un proyecto para conseguir una imagen personalizada, que contenga el software favorito para llevárselo en una memoria USB donde quiera que se vaya, y hacerlo evolucionar en revisiones sucesivas, tal y como vayan cambiando las necesidades y preferencias.
+
+Como nuestra imagen personalizada irá cambiando durante un número de
+revisiones, si se quiere ir siguiendo esos cambios, probar nuevas cosas de
+forma experimental y posiblemente volver atrás si no salen bien, se guardará
+la configuración en el popular sistema de control de versiones
+#{git}#. También se utilizarán las mejores prácticas de configuración
+automática a través de scripts #{auto}# como se describe en {Gestionar una
+configuración}#managing-a-configuration.
+
+3~ Primera revisión
+
+code{
+
+ $ mkdir -p tutorial3/auto
+ $ cp /usr/share/doc/live-build/examples/auto/* tutorial3/auto/
+ $ cd tutorial3
+
+}code
+
+Editar #{auto/config}# del siguiente modo:
+
+code{
+
+ #!/bin/sh
+
+ lb config noauto \
+ --architectures i386 \
+ --linux-flavours 686-pae \
+ "${@}"
+
+}code
+
+Ejecutar #{lb config}# para generar el árbol de configuración, utilizando el
+script #{auto/config}# que justo se acaba de crear:
+
+code{
+
+ $ lb config
+
+}code
+
+Completar la lista de paquetes local:
+
+code{
+
+ $ echo "task-lxde-desktop iceweasel xchat" >> config/package-lists/my.list.chroot
+
+}code
+
+En primer lugar con #{--architectures i386}# se asegura de que en un sistema
+de creación #{amd64}# se crea una versión de 32-bits adecuada para ser usada
+en la mayoría de máquinas. En segundo lugar, se usa #{--linux-flavours
+686-pae}# porque no se espera usar esta imagen en sistemas mucho más
+viejos. En tercer lugar se elige el metapaquete /{lxde}/ para proporcionar
+un escritorio mínimo. Y, por último, se añaden dos paquetes iniciales
+favoritos: /{iceweasel}/ y /{xchat}/.
+
+Ahora, crear la imagen:
+
+code{
+
+ # lb build
+
+}code
+
+Tener en cuenta que a diferencia de los dos primeros tutoriales, ya no se
+tiene que escribir #{2>&1 | tee build.log}# ya que esto se incluye ahora en
+#{auto/build}#.
+
+Una vez que se ha probado la imagen (como en el {Tutorial 1}#tutorial-1) y
+se ha asegurado de que funciona, es el momento de iniciar el repositorio
+git, añadiendo sólo los scripts auto que se acaba de crear, y luego hacer el
+primer commit:
+
+code{
+
+ $ git init
+ $ cp /usr/share/doc/live-build/examples/gitignore .gitignore
+ $ git add .
+ $ git commit -m "Initial import."
+
+}code
+
+3~ Segunda revisión
+
+En esta revisión, vamos a limpiar desde la primera creación, agregar el
+paquete /{vlc}/ a nuestra configuración, crear de nuevo, probar y enviar los
+cambios al git.
+
+El comando #{lb clean}# limpiará todos los ficheros generados en las
+primeras creaciones a excepción del caché, lo cual ahorra tener que volver a
+descargar de nuevo los paquetes. Esto asegura que el siguiente #{lb build}#
+vuelva a ejecutar todas las fases para regenerar los ficheros de nuestra
+nueva configuración.
+
+code{
+
+ # lb clean
+
+}code
+
+Añadir ahora el paquete /{vlc}/ a nuestra lista de paquetes local en
+#{config/package-lists/my.list.chroot}#:
+
+code{
+
+ $ echo vlc >> config/package-lists/my.list.chroot
+
+}code
+
+Crear de nuevo:
+
+code{
+
+# lb build
+
+}code
+
+Probar, y cuando se esté satisfecho, enviar la próxima revisión al git:
+
+code{
+
+ $ git commit -a -m "Adding vlc media player."
+
+}code
+
+Por supuesto, es posible hacer cambios más complicados en la configuración,
+tal vez añadiendo ficheros en los subdirectorios de #{config/}#. Cuando se
+envian nuevas revisiones, hay que tener cuidado de no editar a mano o enviar
+los ficheros del nivel superior en #{config}# que contienen variables
+#{LB_*}# ya que estos son productos de creación también y son siempre
+limpiados por #{lb clean}# y recreados con #{lb config}# a través de sus
+respectivos scripts #{auto}#.
+
+Hemos llegado al final de nuestra serie de tutoriales. Si bien son posibles
+muchos más tipos de personalización, aunque sólo sea con las pocas
+características explicadas en estos sencillos ejemplos, se puede crear una
+variedad casi infinita de imágenes diferentes. Los ejemplos que quedan en
+esta sección abarcan varios casos de usos diferentes procedentes de las
+experiencias recogidas de los usuarios de sistemas en vivo.
+
+2~ Un cliente VNC kiosk
+
+*{Caso Práctico:}* Crear una imagen con live-build para que se conecte directamente a un servidor VNC al arrancar.
+
+Crear un directorio de construcción y lanzar una configuración de esqueleto
+en su interior, desactivando «recommends» para conseguir un sistema
+mínimo. Y a continuación, crear dos listas iniciales de paquetes: La primera
+generada con un script proporcionado por live-build llamado #{Packages}#
+(ver {Generar listas de paquetes}#generated-package-lists), y la segunda
+lista una que incluya /{xorg}/, /{gdm3}/, /{metacity}/ y /{xvnc4viewer}/.
+
+code{
+
+ $ mkdir vnc-kiosk-client
+ $ cd vnc-kiosk-client
+ $ lb config -a i386 -k 686-pae --apt-recommends false
+ $ echo '! Packages Priority standard' > config/package-lists/standard.list.chroot
+ $ echo "xorg gdm3 metacity xvnc4viewer" > config/package-lists/my.list.chroot
+
+}code
+
+Como se explica en {Ajuste de APT para ahorrar
+espacio}#tweaking-apt-to-save-space puede ser necesario volver a agregar
+algunos paquetes recomendados para que la imagen funcione correctamente.
+
+Una manera fácil de conocer todos los «recommends» es utilizar
+/{apt-cache}/. Por ejemplo:
+
+code{
+
+ $ apt-cache depends live-config live-boot
+
+}code
+
+En este ejemplo, descubrimos que teníamos que volver a incluir varios
+paquetes recomendados por live-config y live-boot: #{user-setup}# para hacer
+funcionar el inicio automático de sesión y #{sudo}# programa esencial para
+apagar el sistema. Además, podría ser útil añadir #{live-tools}# para poder
+copiar la imagen en la memoria RAM y #{eject}# para finalmente poder
+expulsar el medio en vivo. Por eso:
+
+code{
+
+ $ echo "live-tools user-setup sudo eject" > config/package-lists/recommends.list.chroot
+
+}code
+
+Después, crear el directorio #{/etc/skel}# en #{config/includes.chroot}# y
+poner dentro un fichero #{.xsession}# personalizado para el usuario que por
+defecto ejecutará /{metacity}/ e iniciará el /{xvncviewer}/, conectándo al
+puerto #{5901}# de un servidor en #{192.168.1.2}#:
+
+code{
+
+ $ mkdir -p config/includes.chroot/etc/skel
+ $ cat > config/includes.chroot/etc/skel/.xsession << EOF
+ #!/bin/sh
+
+ /usr/bin/metacity &
+ /usr/bin/xvncviewer 192.168.1.2:1
+
+ exit
+ EOF
+
+}code
+
+Crear la imagen:
+
+code{
+
+ # lb build
+
+}code
+
+Disfrutarlo.
+
+2~ Una imagen básica para un pendrive USB de 128MB
+
+*{Caso Práctico:}* Crear una imagen quitando algunos componentes para que quepa en un pendrive USB de 128MB dejándo un poco de espacio libre para poder usarlo para lo que se quiera.
+
+Al optimizar una imagen para adaptarla al tamaño de algunos medios de
+almacenamiento, es necesario comprender el equilibrio que se está haciendo
+entre tamaño y funcionalidad. En este ejemplo, se recorta tanto sólo para
+dar cabida a material adicional dentro de un tamaño de 128MB, pero sin hacer
+nada para destruir la integridad de los paquetes que contiene, tales como la
+depuración de las variantes locales a través del paquete /{localepurge}/ u
+otro tipo de optimizaciones «intrusivas». Cabe destacar que se utiliza
+#{--debootstrap-options}# para crear un sistema mínimo desde el principio.
+
+code{
+
+ $ lb config --apt-indices false --apt-recommends false --debootstrap-options "--variant=minbase" --firmware-chroot false --memtest none
+
+}code
+
+Para hacer que la imagen funcione correctamente, tenemos que volver a
+añadir, al menos, dos paquetes recomendados, que son excluidos por la opción
+#{--apt-recommends false}#. Ver {Ajuste de APT para ahorrar
+espacio}#tweaking-apt-to-save-space
+
+code{
+
+ $ echo "user-setup sudo" > config/package-lists/recommends.list.chroot
+
+}code
+
+Ahora, crear la imagen de forma habitual:
+
+code{
+
+ # lb build 2>&1 | tee build.log
+
+}code
+
+En el sistema del autor, en el momento de escribir esto, la configuración
+anterior produjo una imagen de 110MB. Esto se compara favorablemente en
+tamaño con la imagen de 192MB producida por la configuración por defecto en
+el {Tutorial 1}#tutorial-1.
+
+Dejar fuera los índices de APT con #{--apt-indices false}# ahorra una
+cantidad importante de espacio, la desventaja es que será necesario hacer un
+#{apt-get update}# antes de usar apt en el sistema en vivo. Excluyendo los
+paquetes recomendados con #{--apt-recommends false}# se ahorra un poco de
+espacio adicional a costa de omitir algunos paquetes que de otro modo podría
+esperarse que estuvieran alli. #{--debootstrap-options "--variant=minbase"}#
+preinstala un sistema mínimo desde el principio. El hecho de no incluir
+automáticamente paquetes de firmware con #{--firmware-chroot false}# también
+ahorra un poco de espacio. Y por último, #{--memtest none}# evita la
+instalación de un comprobador de memoria.
+
+*{Nota:}* También se puede conseguir un sistema mínimo utilizando scripts gancho como por ejemplo el script #{stripped.hook.chroot}# que se encuentra en #{/usr/share/doc/live-build/examples/hooks}#, que puede reducir aún más el tamaño de la imagen hasta 91MB. Sin embargo, el script elimina documentación y otros ficheros de los paquetes instalados en el sistema. Esto viola la integridad de los paquetes y como se comenta en el encabezado del script, puede tener consecuencias imprevistas. Es por eso por lo que el uso de /{debootstrap}/ es el método recomendado para conseguir este objetivo.
+
+2~ Un escritorio GNOME con variante local e instalador
+
+*{Caso práctico:}* Crear una imagen que contenga el escritorio gráfico GNOME, la variante local Suiza y un instalador.
+
+Se desea crear una imagen iso-hybrid para la arquitectura i386 con un
+escritorio preferido, en este caso el GNOME, que contiene todos los mismos
+paquetes que serían instalados por el programa de instalación estándar de
+Debian para GNOME.
+
+El primer problema es descubrir los nombres de las tareas adecuadas. En la
+actualidad, live-build no puede ayudar en esto. Aunque podríamos tener
+suerte y encontrarlos a base de pruebas, hay una herramienta,
+#{grep-dctrl}#, para extraerlos de las descripciones de tareas en
+tasksel-data, para proceder, asegurarse de tener ambas cosas:
+
+code{
+
+ # apt-get install dctrl-tools tasksel-data
+
+}code
+
+Ahora podemos buscar las tareas apropiadas, primero con:
+
+code{
+
+ $ grep-dctrl -FTest-lang de /usr/share/tasksel/descs/debian-tasks.desc -sTask
+ Task: german
+
+}code
+
+Con este comando, se descubre que la tarea se llama, sencillamente,
+german. Ahora, para encontrar las tareas relacionas:
+
+code{
+
+ $ grep-dctrl -FEnhances german /usr/share/tasksel/descs/debian-tasks.desc -sTask
+ Task: german-desktop
+ Task: german-kde-desktop
+
+}code
+
+En el momento del arranque se va a generar la variante local *{de_CH.UTF-8}*
+y seleccionar la distribución del teclado *{ch}*. Ahora vamos a poner las
+piezas juntas. Recordando de {Utilizar metapaquetes}#using-metapackages que
+los metapaquetes tienen el prefijo #{task-}#, especificamos estos parámetros
+del lenguaje en el arranque y a continuación añadimos los paquetes de
+prioridad estándar y los metapaquetes que hemos descubierto a la lista de
+paquetes de la siguiente manera:
+
+code{
+
+ $ mkdir live-gnome-ch
+ $ cd live-gnome-ch
+ $ lb config \
+ -a i386 \
+ --bootappend-live "boot=live components locales=de_CH.UTF-8 keyboard-layouts=ch" \
+ --debian-installer live
+ $ echo '! Packages Priority standard' > config/package-lists/standard.list.chroot
+ $ echo task-gnome-desktop task-german task-german-desktop >> config/package-lists/desktop.list.chroot
+ $ echo debian-installer-launcher >> config/package-lists/installer.list.chroot
+
+}code
+
+Tener en cuenta que se ha incluido el paquete /{debian-installer-launcher}/
+para lanzar el instalador desde el escritorio en vivo. El kernel #{586}#,
+necesario para que el lanzador funcione correctamente, se incluye por
+defecto.