diff options
Diffstat (limited to 'markup/pod/live-manual/media/text/ca/examples.ssi')
-rw-r--r-- | markup/pod/live-manual/media/text/ca/examples.ssi | 454 |
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. |