32
LB_MIRROR_BOOTSTRAP="http://mirror/debian"
33
LB_MIRROR_CHROOT_SECURITY="http://mirror/debian-security"
34
LB_MIRROR_CHROOT_BACKPORTS="http://mirror/debian-updates"
32
LB_MIRROR_BOOTSTRAP="http://mirror/debian/"
33
LB_MIRROR_CHROOT_SECURITY="http://mirror/debian-security/"
34
LB_MIRROR_CHROOT_BACKPORTS="http://mirror/debian-updates/"
70
70
contendrá #{binary.hybrid.iso}#. Esta imagen ISO híbrida se puede arrancar
71
71
directamente en una máquina virtual como se describe en {Probar una imagen
72
72
ISO con Qemu}#testing-iso-with-qemu y en {Probar una imagen ISO con
73
virtualbox-ose}#testing-iso-with-virtualbox o bien ser copiada a un medio
74
óptico como un dispositivo USB tal y como se describe en {Grabar una imagen
75
ISO en un medio físico}#burning-iso-image y {Copiar una imagen ISO híbrida
76
en un dispositivo USB}#copying-iso-hybrid-to-usb, respectivamente.
73
virtualbox}#testing-iso-with-virtualbox o bien ser copiada a un medio óptico
74
como un dispositivo USB tal y como se describe en {Grabar una imagen ISO en
75
un medio físico}#burning-iso-image y {Copiar una imagen ISO híbrida en un
76
dispositivo USB}#copying-iso-hybrid-to-usb, respectivamente.
78
78
2~tutorial-2 Tutorial 2: Una utilidad de navegador web
257
257
2~ Un cliente VNC kiosk
259
*{Caso Práctico:}* Crear una imagen con live-build para arrancar directamente un servidor VNC.
259
*{Caso Práctico:}* Crear una imagen con live-build para que se conecte directamente a un servidor VNC al arrancar.
261
Make a build directory and create an skeletal configuration inside it,
262
disabling recommends to make a minimal system. And then create two initial
263
package lists: the first one generated with a script provided by live-build
264
named #{Packages}# (see {Generated package lists}#generated-package-lists),
265
and the second one including /{xorg}/, /{gdm3}/, /{metacity}/ and
261
Crear un directorio de construcción y lanzar una configuración de esqueleto
262
en su interior, desactivando «recommends» para conseguir un sistema
263
mínimo. Y a continuación, crear dos listas iniciales de paquetes: La primera
264
generada con un script proporcionado por live-build llamado #{Packages}#
265
(ver {Generar listas de paquetes}#generated-package-lists), y la segunda
266
lista una que incluya /{xorg}/, /{gdm3}/, /{metacity}/ y /{xvnc4viewer}/.
278
As explained in {Tweaking APT to save space}#tweaking-apt-to-save-space you
279
may need to re-add some recommended packages to make your image work
278
Como se explica en {Tweaking APT to save space}#tweaking-apt-to-save-space
279
puede ser necesario volver a agregar algunos paquetes recomendados para que
280
la imagen funcione correctamente.
282
An easy way to list recommends is using /{apt-cache}/. For example:
282
Una manera fácil de conocer todos los «recommends» es utilizar
283
/{apt-cache}/. Por ejemplo:
290
In this example we found out that we had to re-include several packages
291
recommended by live-config and live-boot: #{user-setup}# to make autologin
292
work and #{sudo}# as an essential program to shutdown the system. Besides,
293
it could be handy to add #{live-tools}# to be able to copy the image to RAM
294
and #{eject}# to eventually eject the live media, So:
291
En este ejemplo, descubrimos que teníamos que volver a incluir varios
292
paquetes recomendados por live-config y live-boot: #{user-setup}# para hacer
293
funcionar el inicio automático de sesión y #{sudo}# programa esencial para
294
apagar el sistema. Además, podría ser útil añadir #{live-tools}# para poder
295
copiar la imagen en la memoria RAM y #{eject}# para finalmente poder
296
expulsar los medios en vivo. Por eso:
298
$ echo "live-tools user-setup sudo eject" >
299
config/package-lists/recommends.list.chroot
300
$ echo "live-tools user-setup sudo eject" > config/package-lists/recommends.list.chroot
303
Crear el directorio #{/etc/skel}# en #{config/includes.chroot}# y poner
304
dentro un fichero #{.xsession}# personalizado para el usuario que por
304
Después, crear el directorio #{/etc/skel}# en #{config/includes.chroot}# y
305
poner dentro un fichero #{.xsession}# personalizado para el usuario que por
305
306
defecto ejecutará /{metacity}/ e iniciará el /{xvncviewer}/, conectándo al
306
307
puerto #{5901}# de un servidor en #{192.168.1.2}#:
310
311
$ mkdir -p config/includes.chroot/etc/skel
311
$ cat > config/includes.chroot/etc/skel/.xsession << END
312
$ cat > config/includes.chroot/etc/skel/.xsession << EOF
314
315
/usr/bin/metacity &
315
316
/usr/bin/xvncviewer 192.168.1.2:1
353
To make the image work properly, we must re-add, at least, two recommended
354
packages which are left out by the #{--apt-recommends false}# option. See
355
{Tweaking APT to save space}#tweaking-apt-to-save-space
354
Para hacer que la imagen funcione correctamente, tenemos que volver a
355
añadir, al menos, dos paquetes recomendados, que son excluidos por la opción
356
#{--apt-recommends false}#. Ver {Ajuste de APT para ahorrar
357
espacio}#tweaking-apt-to-save-space
373
375
tamaño con la imagen de 182Mbytes producida por la configuración por defecto
374
376
en el {Tutorial 1}#tutorial-1.
376
The biggest space-saver here, compared to building a standard image on an
377
#{i386}# architecture system, is to select only the #{486}# kernel flavour
378
instead of the default #{-k "486 686-pae"}#. Leaving off APT's indices with
379
#{--apt-indices false}# also saves a fair amount of space, the tradeoff
380
being that you need to #{apt-get update}# before using apt in the live
381
system. Dropping recommended packages with #{--apt-recommends false}# saves
382
some additional space, at the expense of omitting some packages you might
383
otherwise expect to be there, such as /{firmware-linux-free}/ which may be
384
needed to support certain hardware. #{--memtest none}# prevents the
385
installation of a memory tester. And finally, the execution of the
386
#{minimal.chroot}# hook removes some unused packages and files.
378
El mayor ahorro de espacio aquí, en comparación con la creación de una
379
imagen estándar en un sistema de arquitectura #{i386}# es seleccionar sólo
380
la versión del kernel #{486}# en lugar de la de por defecto #{-k "486
381
686-pae"}#. Dejar fuera los índices de APT con #{--apt-indices false}#
382
también ahorra una cantidad importante de espacio, la desventaja es que será
383
necesario hacer un #{apt-get update}# antes de usar apt en el sistema en
384
vivo. Excluyendo los paquetes recomendados con #{--apt-recommends false}# se
385
ahorra un poco de espacio adicional a costa de omitir algunos paquetes que
386
de otro modo podría esperarse que estuvieran alli. #{--memtest none}# evita
387
la instalación de un comprobador de memoria. Y por último la ejecución del
388
script gancho #{minimal.chroot}# elimina algunos paquetes y ficheros que no
388
391
Si se utilizan otros scripts gancho, como por ejemplo el script
389
392
#{stripped.chroot}# que se encuentra en
435
At boot time we will generate the pt_BR.UTF-8 locale and select the
436
pt-latin1 keyboard layout. Now let's put the pieces together. Recalling from
437
{Using metapackages}#using-metapackages that task metapackages are prefixed
438
#{task-}#, we just specify these language boot parameters, then add standard
439
priority packages and all our discovered task metapackages to our package
438
En el momento del arranque se va a generar la variante local *{pt_BR.UTF-8}*
439
y seleccionar la distribución del teclado *{pt}*. Ahora vamos a poner las
440
piezas juntas. Recordando de {Utilizar metapaquetes}#using-metapackages que
441
los metapaquetes tienen el prefijo #{task-}#, especificamos estos parámetros
442
del lenguaje en el arranque y a continuación añadimos los paquetes de
443
prioridad estándar y los metapaquetes que hemos descubierto a la lista de
444
paquetes de la siguiente manera:
449
--bootappend-live "locales=pt_BR.UTF-8 keyboard-layouts=pt-latin1" \
453
--bootappend-live "boot=live config locales=pt_BR.UTF-8 keyboard-layouts=pt" \
450
454
--debian-installer live
451
455
$ echo '! Packages Priority standard' > config/package-lists/standard.list.chroot
452
456
$ echo task-kde-desktop task-brazilian-portuguese task-brazilian-portuguese-desktop \