aboutsummaryrefslogtreecommitdiffhomepage
path: root/markup/pod/live-manual/media/text/ca/examples.ssi
diff options
context:
space:
mode:
Diffstat (limited to 'markup/pod/live-manual/media/text/ca/examples.ssi')
-rw-r--r--markup/pod/live-manual/media/text/ca/examples.ssi454
1 files changed, 454 insertions, 0 deletions
diff --git a/markup/pod/live-manual/media/text/ca/examples.ssi b/markup/pod/live-manual/media/text/ca/examples.ssi
new file mode 100644
index 0000000..1aa1220
--- /dev/null
+++ b/markup/pod/live-manual/media/text/ca/examples.ssi
@@ -0,0 +1,454 @@
+:B~ Exemples
+
+1~examples Exemples
+
+En aquest capítol s'inclouen exemples de construccions per a casos d'ús
+específics amb sistemes en viu. Si s'és nou en la construcció d'imatges en
+viu pròpies, us suggerim mirar els tres tutorials en seqüència, ja que cada
+un ensenya noves tècniques que ajuden a utilitzar i entendre els exemples
+restants.
+
+2~using-the-examples Ús dels exemples
+
+per a utilitzar aquests exemples es necessita un sistema de construcció que
+compleixi les exigències enumerades a {Requisits}#requirements y que tingui
+live-build instal·lat com es descriu a {Instal·lació de
+live-build}#installing-live-build.
+
+Cal notar que, per a abreujar, en aquests exemples no s'especifica un mirall
+local per a utilitzar en la construcció. Es poden accelerar les descàrregues
+considerablement si s'utilitza un mirall local. Es pot especificar les
+opcions quan s'utilitza #{lb config}#, com es descriu a {Miralls de
+distribució utilitzats en temps de
+construcció}#distribution-mirrors-build-time, o per a major comoditat,
+establir el valor predeterminat per al sistema de construcció en el fitxer
+#{/etc/live/build.conf}#. Només cal crear aquest fitxer i establir a les
+variables al mirall preferit. Tots els altres miralls que s'utilitzin en la
+construcció adoptaran valors per defecte segons aquests valors. Per exemple:
+
+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 imatge per defecte
+
+*{Cas d'ús:}* Crear una primera imatge senzilla, aprenent els conceptes bàsics de live-build.
+
+En aquest tutorial, anem a construir una imatge ISO híbrida per defecte que
+contingui només els paquets de base (no té Xorg) i altres paquets de suport
+de sistema en viu, com un primer exercici en l'ús de live-build.
+
+No pot ser més senzill que això:
+
+code{
+
+ $ mkdir tutorial1 ; cd tutorial1 ; lb config
+
+}code
+
+Examinar el contingut del directori #{config/}# si es vol. Es veurà
+emmagatzemada aquí una configuració en esquelet, a punt per a ser
+personalitzada o, en aquest cas, per a ser utilitzada immediatament per a
+construir una imatge per defecte.
+
+Ara, com a superusuari, construir la imatge, guardant un log del que es
+construeix amb #{tee}#.
+
+code{
+
+ # lb build 2>&1 | tee build.log
+
+}code
+
+Suposant que tot va bé, després d'una estona, el directori actual contindrà
+una #{live-image-i386.hybrid.iso}#. Aquesta imatge ISO híbrida es pot
+arrencar en una màquina virtual tal com s'explica a {Provar una imatge ISO
+amb Qemu}#testing-iso-with-qemu i {Provar una imatge ISO amb
+VirtualBox}#testing-iso-with-virtualbox, o bé copiada a un dispositiu USB
+com es descriu a {Gravar una imatge ISO en un medi físic}#burning-iso-image
+i {Copiar una imatge ISO híbrida en un dispositiu
+USB}#copying-iso-hybrid-to-usb, respectivament.
+
+2~tutorial-2 Tutorial 2: Una utilitat de navegador web
+
+*{Cas d'ús:}* Crear una imatge d'una utilitat de navegador web, aprenent a aplicar personalitzacions.
+
+En aquest tutorial, anem a crear una imatge adequada per al seu ús com a una
+utilitat de navegador web, que serveix com introducció a la personalització
+de les imatges de sistemes en viu.
+
+code{
+
+ $ mkdir tutorial2
+ $ cd tutorial2
+ $ lb config
+ $ echo "task-lxde-desktop iceweasel" >> config/package-lists/my.list.chroot
+
+}code
+
+La nostra elecció de LXDE per a aquest exemple reflecteix el nostre desig
+d'oferir un entorn d'escriptori mínim, ja que l'objectiu de la imatge és
+l'únic ús que tenim al cap, el navegador web. Podríem anar encara més lluny
+i oferir una configuració per defecte per al navegador web a
+#{config/includes.chroot/etc/iceweasel/profile/}#, o paquets addicionals de
+suport per a la visualització de diversos tipus de contingut web, però
+deixem això com a un exercici per al lector.
+
+Construir la imatge, de nou com a superusuari, guardant un log com al
+{Tutorial 1}#tutorial-1:
+
+code{
+
+ # lb build 2>&1 | tee build.log
+
+}code
+
+Un cop més, verificar que la imatge està bé i provar-la, com al {Tutorial
+1}#tutorial-1.
+
+2~tutorial-3 Tutorial 3: Una imatge personalitzada
+
+*{Cas d'ús:}* Crear un projecte per a construir una imatge personalitzada, que contingui el programari favorit per a portar en una memòria USB allà on es vagi i que evolucionarà en revisions successives tal i com les necessitats i les preferències canvien.
+
+Com la nostra imatge personalitzada canviarà durant un nombre de revisions i
+volem fer un seguiment d'aquests canvis, provar coses experimentals i
+possiblement revertir-les si les coses no surten bé, anem a mantenir la
+nostra configuració en el popular sistema de control de versions
+#{git}#. També utilitzarem les millors pràctiques de configuració automàtica
+mitjançant scripts #{auto}# com s'explica a {Gestió d'una
+configuració}#managing-a-configuration.
+
+3~ Primera revisió
+
+code{
+
+ $ mkdir -p tutorial3/auto
+ $ cp /usr/share/doc/live-build/examples/auto/* tutorial3/auto/
+ $ cd tutorial3
+
+}code
+
+Editar #{auto/config}# de la manera següent:
+
+code{
+
+ #!/bin/sh
+
+ lb config noauto \
+ --architectures i386 \
+ --linux-flavours 686-pae \
+ "${@}"
+
+}code
+
+Executar #{lb config}# per a crear l'arbre de configuració, utilitzant el
+script #{auto/config}# que s'acaba de crear:
+
+code{
+
+ $ lb config
+
+}code
+
+Ara, omplir la llista local de paquets:
+
+code{
+
+ $ echo "task-lxde-desktop iceweasel xchat" >> config/package-lists/my.list.chroot
+
+}code
+
+En primer lloc, amb #{--architectures i386}# s'assegura que al nostre
+sistema de construcció #{amd64}# podem construir una versió de 32 bits
+adequada per al seu ús en la majoria de màquines. En segon lloc, fem servir
+#{--linux-flavours 686-pae}# perquè no creiem que utilitzarem aquesta imatge
+en sistemes molt més vells. En tercer lloc, hem triat la tasca metapaquet
+/{lxde}/ per a donar-nos un escriptori mínim. I, finalment, hem afegit dos
+paquets inicials favorits: /{iceweasel}/ i /{xchat}/.
+
+Ara, construir la imatge:
+
+code{
+
+ # lb build
+
+}code
+
+Tenir en compte que a diferència dels dos primers tutorials, ja no s'ha
+d'escriure #{2>&1 | tee build.log}# ja que ara s'inclou al script
+#{auto/build}#.
+
+Quan s'ha provat la imatge (com al {Tutorial 1}#tutorial-1) i s'està
+satisfet del seu funcionament, és el moment d'iniciar el repositòri #{git}#,
+afegint només els scripts auto que s'han creat, i llavors fer el primer
+lliurament:
+
+code{
+
+ $ git init
+ $ cp /usr/share/doc/live-build/examples/gitignore .gitignore
+ $ git add .
+ $ git commit -m "Initial import."
+
+}code
+
+3~ Segona revisió
+
+En aquesta revisió, anem a netejar després de la primera construcció, afegir
+el paquet /{vlc}/ a la nostra configuració, reconstruir, provar i fer el
+lliurament.
+
+L'ordre #{lb clean}# netejarà tots els fitxers generats en la construcció
+anterior a excepció del cache, el que estalvia haver de tornar a descarregar
+els paquets. Això assegura que el #{lb build}# següent tornarà a executar
+totes les etapes per a regenerar els fitxers de la nostra nova configuració.
+
+code{
+
+ # lb clean
+
+}code
+
+Ara afegim el paquet /{vlc}/ al llistat de paquets local a
+#{config/package-lists/my.list.chroot}#:
+
+code{
+
+ $ echo vlc >> config/package-lists/my.list.chroot
+
+}code
+
+Construir de nou:
+
+code{
+
+# lb build
+
+}code
+
+Provar, i quan s'estigui satisfet, fer el lliurament de la propera revisió:
+
+code{
+
+ $ git commit -a -m "Adding vlc media player."
+
+}code
+
+Per descomptat, es possible fer canvis més complicats en la configuració,
+potser afegint fitxers en els subdirectoris de #{config/}#. Quan es fa un
+lliurament de les noves revisions, s'ha de tenir cura de no editar a mà o
+incloure en el lliurament els fitxers de nivell superior de #{config}# que
+contenen variables #{LB_*}#, ja que són productes de construcció també, i
+sempre són netejats per #{lb clean}# i tornats a crear per #{lb config}# a
+través dels seus respectius scripts #{auto}#.
+
+Hem arribat al final de la nostra sèrie de tutorials. Molts més tipus de
+personalització són possibles, amb les poques característiques explorades en
+aquests senzills exemples, es poden crear una varietat gairebé infinita
+d'imatges diferents. Els exemples que queden d'aquesta secció tracten
+diferents casos d'ús extrets de les experiències recollides dels usuaris de
+sistemes en viu.
+
+2~ Un client per a un quiosc VNC
+
+*{Cas d'ús:}* Crear una imatge amb live-build per a connectar-se directament a un servidor VNC al arrencar.
+
+Fer un directori de treball i crear una configuració d'esquelet en el seu
+interior, desactivant els «recommends» per a fer un sistema mínim. I a
+continuació, crear dues llistes inicials de paquets: La primera generada per
+un script proporcionat per live-build anomenat #{Packages}# (veure {Generar
+llistes de paquets}#generated-package-lists), i la segona incloent-hi
+/{xorg}/, /{gdm3}/, /{metacity}/ i /{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
+
+Com s'explica a {Afinar APT per a estalviar
+espai}#tweaking-apt-to-save-space pot ser que s'hagi de tornar a afegir
+alguns paquets recomanats per a fer que la imatge funcioni correctament.
+
+Una manera fàcil d'enumerar els recommends és utilitzar /{apt-cache}/. Per
+exemple:
+
+code{
+
+ $ apt-cache depends live-config live-boot
+
+}code
+
+En aquest exemple, ens vam assabentar que havíem de tornar a incloure
+diversos paquets recomanats per live-config i live-boot: #{user-setup}#
+perquè funcioni l'autologin i #{sudo}# com a programa essencial per a apagar
+el sistema. A més, podria ser útil afegir #{live-tools}# per a poder copiar
+la imatge en la memòria RAM i #{eject}# per a expulsar, finalment, el medi
+en viu. Per tant:
+
+code{
+
+ $ echo "live-tools user-setup sudo eject" > config/package-lists/recommends.list.chroot
+
+}code
+
+Després, crear el directori #{/etc/skel}# a #{config/includes.chroot}# i
+posar un fitxer #{.xsession}# personalitzat per a l'usuari per defecte que
+posarà en marxa /{metacity}/ i iniciarà /{xvncviewer}/, connectant al port
+#{5901}# d'un servidor ubicat a #{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
+
+Construir la imatge:
+
+code{
+
+ # lb build
+
+}code
+
+Gaudir-ne.
+
+2~ Una imatge bàsica per a un dispositiu USB de 128MB
+
+*{Cas d'ús:}* Crear una imatge per defecte amb alguns components eliminats per tal que càpiga en una clau USB de 128MB amb un petit espai de sobres per a utilitzar-lo com millor us sembli.
+
+Al optimitzar una imatge per a adaptar-la a una mida determinada, cal
+comprendre la compensació que s'estan fent entre la mida i la
+funcionalitat. En aquest exemple, retallem tant només per a donar cabuda a
+material addicional dins d'una mida de 128MB, però sense fer res per a
+destruir la integritat dels paquets continguts, com la depuració de les
+dades de localització a través del paquet /{localepurge}/ o altres
+optimitzacions "intrusives". De particular interès, utilitzem
+#{--debootstrap-options}# per a crear un sistema mínim des de zero.
+
+code{
+
+ $ lb config --apt-indices false --apt-recommends false --debootstrap-options "--variant=minbase" --firmware-chroot false --memtest none
+
+}code
+
+Per a fer que la imatge funcioni correctament, hem de tornar a afegir, com a
+mínim, dos paquets recomanats, que es queden fora per l'opció
+#{--apt-recommends false}#. Veure { Afinar APT per a estalviar
+espai}#tweaking-apt-to-save-space
+
+code{
+
+ $ echo "user-setup sudo" > config/package-lists/recommends.list.chroot
+
+}code
+
+Ara, crear la imatge de la forma habitual:
+
+code{
+
+ # lb build 2>&1 | tee build.log
+
+}code
+
+En el sistema de l'autor en el moment d'escriure això, la configuració
+anterior produeix una imatge de 110MB. Això es compara favorablement amb la
+imatge de 192MB produïda per la configuració per defecte del {Tutorial
+1}#tutorial-1.
+
+Deixar els índexs d'APT amb #{--apt-indices false}# permet estalviar una
+bona quantitat d'espai, el desavantatge és que es necessita fer #{apt-get
+update}# abans d'utilitzar apt en el sistema en viu. Deixar els paquets
+recomanats amb #{--apt-recommends false}# estalvia una mica d'espai
+addicional, a costa d'ometre alguns paquets que d'una altra manera es podria
+esperar que hi fossin. #{--debootstrap-options "--variant=minbase"}#
+preinstal·la un sistema mínim des del principi. Al no incloure
+automàticament paquets de firmware amb #{--firmware-chroot false}# també es
+guanya una mica d'espai. I finalment, #{--memtest none}# impedeix la
+instal·lació d'un comprovador de memòria.
+
+*{Nota:}* Un sistema mínim es pot aconseguir també fent servir un script ganxo, com ara el #{stripped.hook.chroot}# de #{/usr/share/doc/live-build/examples/hooks}#. Es pot guanyar petites quantitats addicionals d'espai i produir una imatge de 91MB. No obstant, el script ganxo aconsegueix això eliminant documentació i altres fitxers dels paquets instal·lats al sistema. Això viola la integritat dels paquets i com és comenta a l'encapçalament del script, pot tenir conseqüències imprevistes. És per això que l'ús d'un /{debootstrap}/ mínim és el mètode recomanat per a aconseguir aquest objectiu.
+
+2~ Un escriptori GNOME localitzat i amb instal·lador
+
+*{Cas d'ús:}* Crear una imatge amb l'escriptori GNOME, localitzat per Suïssa i que inclogui un instal·lador.
+
+Volem fer una imatge ISO híbrida per a l'arquitectura i386 fent servir el
+nostre escriptori preferit, en aquest cas GNOME, que conté tots els mateixos
+paquets que serien instal·lats per l'instal·lador estàndard de Debian per a
+GNOME.
+
+El nostre primer problema és descobrir els noms de les tasques del
+llenguatge apropiades. En l'actualitat, live-build no ens pot ajudar amb
+això. Tot i que es podria tenir sort i trobar-ho per assaig i error, hi ha
+una eina, #{grep-dctrl}#, per extreure les descripcions de les tasques de
+tasksel-data. Per a preparar-ho tot, assegurar-se de tenir totes dues coses:
+
+code{
+
+ # apt-get install dctrl-tools tasksel-data
+
+}code
+
+Ara podem buscar les tasques apropiades, primer amb:
+
+code{
+
+ $ grep-dctrl -FTest-lang de /usr/share/tasksel/descs/debian-tasks.desc -sTask
+ Task: german
+
+}code
+
+Mitjançant aquesta ordre, es descobreix que la tasca s'anomena, amb
+suficient claredat, german. Ara, per a trobar les tasques relacionades:
+
+code{
+
+ $ grep-dctrl -FEnhances german /usr/share/tasksel/descs/debian-tasks.desc -sTask
+ Task: german-desktop
+ Task: german-kde-desktop
+
+}code
+
+En el moment d'arrencar es generarà la variant regional *{de_CH.UTF-8}* i es
+seleccionarà la disposició del teclat *{ch}*. Ara posarem les peces
+juntes. Recordant de {Ús dels metapaquets}#using-metapackages que els
+metapaquets tenen el prefix #{task-}#, simplement especificar aquests
+paràmetres del llenguatge a l'arrencada, i després afegir els paquets de
+prioritat estàndard i tots els metapaquets descoberts a la nostra llista de
+paquets de la següent 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
+
+Tenir en compte que s'ha inclòs el paquet /{debian-installer-launcher}/ per
+a llançar l'instal·lador des de l'escriptori en viu. El nucli #{586}#, que
+actualment és necessari perquè el llançador funcioni correctament, s'inclou
+per defecte.