Title: Manual de Live Systems
Creator: Projecte Live Systems <debian-live@lists.debian.org>
Rights: Copyright: Copyright (C) 2006-2015 Live Systems Project
License: Aquest programa és un programari lliure: es pot redistribuir i/o modificar sota els termes de la Llicència Pûblica General de la GNU com és publicada per la Free Software Foundation, ja sigui la versió 3 de la Llicència, o (si ho preferiu) qualsevol versió posterior.

Aquest programa es distribueix amb l'esperança que sigui ûtil, però sense cap garantia, fins i tot sense la garantia implícita de COMERCIALITZACIÓ o ADEQUACIÓ PER A PROPÒSITS DETERMINATS. Vegeu la Llicència General Pûblica de la GNU per a més detalls.

Haurieu de rebre una còpia de la Llicència Pûblica General de la GNU amb aquest programa. Si no és així, consulteu http://www.gnu.org/licenses/.

El text complet de la Llicència Pûblica General de la GNU es pot trobar a /usr/share/common-licenses/GPL-3.

Publisher: Projecte Live Systems <debian-live@lists.debian.org>
Date: 01.05.2015
Sourcefile: live-manual.ssm.sst
Filetype: UTF-8 assumed, file encoding check program unavailable
Source digest: SHA256(live-manual.ssm.sst)= f549a540c84f7ac17c7757078d3847e5968c56ea5c8b07ac66fa8a59afa6a67e
Generated by: Generated by: SiSU 7.1.2 of 2015w20/1 (2015-05-18)
Ruby version: ruby 2.1.3p242 (2014-09-19) [x86_64-linux-gnu]
Document (ao) last generated: 2015-05-21 14:39:25 +0000
Manual de Live Systems 1 Sobre aquest manual 2 Sobre aquest manual 3 1. Sobre aquest manual 4 Aquest manual serveix com a punt d'accés û nic a tota la documentació relacionada amb el Live Systems Project i en particular s'aplica al programari produït pel projecte per a la versió Debian 9.0 "stretch". Una versió actualitzada es pot trobar sempre a <http://live-systems.org/> 5 Si bé live-manual es centra principalment en ajudar a construir un sistema viu i no en temes dels usuaris finals, un usuari final pot trobar informació û til en aquestes seccions: Conceptes bàsics abasta la descàrrega d'imatges prefabricades i la preparació de les imatges per a ser arrencades des dels dispositius o la xarxa, ja sigui utilitzant el servei de construcció d'imatges web o executant live-build directament en el sistema. Personalització dels comportaments en temps d'execució descriu algunes de les opcions que es poden especificar durant l'arrencada del sistema, com ara la selecció de la disposició del teclat, la configuració regional i l'ûs de la persistència. 6 Algunes de les ordres esmentades en el text s'han d'executar amb privilegis de superusuari que es poden obtenir esdevenint l'usuari root amb su o mitjançant l'ûs de sudo. Per a distingir entre les ordres que poden ser executades per un usuari sense privilegis i aquelles que requereixen privilegis de superusuari, s'anteposa $ o # respectivament. Aquest símbol no é s part de l'ordre. 7 1.1 Per als impacients 8 Si bé creiem que tot el que hi ha en aquest manual é s important, si més no, per a alguns dels nostres usuaris, ens adonem que hi ha una gran quantitat de material per a cobrir i que é s possible que es vulgui experimentar l'èxit amb el programari aviat, abans d'aprofundir en els detalls. Per tant, us recomanem llegir en el segýent ordre. 9 En primer lloc, llegir aquest capítol, Sobre aquest manual, des del principi i acabant amb els Termes. A continuació, saltar als tres tutorials abans dels Exemples, secció pensada per a ensenyar com fer la construcció d'una imatge i alguns aspectes bàsics de la personalització. Llegir en primer lloc Ús dels exemples seguit pel Tutorial 1: Una imatge per defecte, Tutorial 2: Una utilitat de navegador web i finalment, Tutorial 3: Una image personalitzada. Al final d'aquests tutorials, es tindrà una idea del que es pot fer amb els sistemes en viu. 10 Us animem a tornar i a fer un estudi del manual en profunditat, la propera lectura pot ser Conceptes bàsics, fregant o saltant Construir una imatge netboot, i acabant amb la lectura de la Visió general de la personalització i els capítols que segueixen. En aquest punt, esperem que estigueu ben emocionats pel que es pot fer amb els sistemes en viu i motivats per llegir la resta del manual, de principi a fi. 11 1.2 Termes 12 Sistema viu: Un sistema operatiu que pot arrencar sense necessitat d'instal·lació en un disc dur. Els sistemes vius no alteren el sistema operatiu local(s) o els fitxer(s) ja instal·lats al disc dur de l'ordinador a menys que així se'ls ho indiqui. Els sistemes vius normalment s'inician des de dispositius, com ara CDs, DVDs o memòries USB. Alguns també poden arrencar des de la xarxa (amb les imatges netboot, veure Construir una imatge netboot), o mitjançant internet (amb el parametre fetch=URL, veure Webbooting). 13 Medi en viu: A diferència de sistema en viu, el medi en viu es refereix al CD, DVD o memòria USB on es copia el fitxer binari produït per live-build i utilitzat per a arrencar el sistema en viu. Més à mpliament, el terme també es refereix a qualsevol lloc on resideix el fitxer binari als efectes d'iniciar el sistema en viu, com ara la ubicació dels fitxers per a arrencar en xarxa. 14 Live Systems Project: El projecte que manté, entre altres, els paquets live-boot, live-build, live-config, live-tools i live-manual. 15 Sistema amfitrió: L'entorn utilitzat per a crear el sistema en viu. 16 Sistema objectiu: L'entorn que s'utilitza per a executar el sistema en viu. 17 live-boot: Una col·lecció de scripts per a arrencar els sistemes vius. 18 live-build: Una col·lecció d'scripts utilitzats per a construir sistemes en viu personalitzats. 19 live-config: Una col·lecció de scripts utilitzats per a configurar un sistema en viu durant el procés d'arrencada. 20 live-tools: Una col·lecció d'scripts addicionals que s'utilitzen per a realitzar tasques û tils en un sistema viu en execució. 21 live-manual: Aquest document é s mantingut en un paquet anomenat live-manual 22 Instal·lador de Debian (d-i): El sistema oficial d'instal·lació de la distribució Debian. 23 Paràmeters d'arrencada: Els paràmetres que es poden introduir a l'indicador del carregador d'arrencada per a influir en el nucli o live-config 24 chroot: El programa chroot, chroot(8), ens permet executar diferentes instàncies d'un entorn GNU/Linux a la vegada en un sol sistema sense reiniciar. 25 Imatge binaria: Un fitxer que conté el sistema en viu, com ara live-image-i386.hybrid.iso o live-image-i386.img. 26 Distribució objectiu: La distribució en què es basa el sistema en viu. Que pot diferir de la distribució del sistema amfitrió. 27 stable/testing/unstable: La distribució stable, actualment anomenada stretch, conté l'ûltima distribució de Debian llençada oficialment. La distribució testing, temporalment anomenada buster, é s l'àrea d'assaig per a la pròxima versió stable. Un avantatge important de l'ûs d'aquesta distribució é s que té versions més recents del programari en relació amb l'edició stable. La distribució unstable, permanentment anomenada sid, é s on es produeix el desenvolupament actiu de Debian. En general, aquesta distribució é s utilitzada pels desenvolupadors i els que els agrada viure en risc. Al llarg del manual, es tendeix a utilitzar els seus noms en clau, com ara buster o sid, ja que é s el que fan servir les pròpies eines. 28 1.3 Autors 29 Llistat d'autors (en ordre alfabètic) 30 Ben Armstrong 31 Brendan Sleight 32 Carlos Zuferri 33 Chris Lamb 34 Daniel Baumann 35 Franklin Piat 36 Jonas Stein 37 Kai Hendry 38 Marco Amadori 39 Mathieu Geli 40 Matthias Kirschner 41 Richard Nelson 42 Trent W. Buck 43 1.4 Contribuir a aquest document 44 Aquest manual està pensat com un projecte comunitari i totes les propostes per a millorar-lo i les contribucions són molt benvingudes. Veure la secció Contribuir al projecte per a obtenir informació detallada sobre com obtenir la clau i fer bons commits. 45 1.4.1 Aplicar canvis 46 Per tal de realitzar canvis en el manual anglès s'ha d'editar els fitxers adequats a manual/en/ però abans de presentar una contribució, s'ha de previsualitzar el treball. Per a previsualitzar el live-manual, assegurar-se que s'han instal·lat els paquets necessaris per a la seva construcció mitjançant l'execució de: 47 48 # apt-get install make po4a ruby ruby-nokogiri sisu-complete
Es pot crear el live-manual des del directori de nivell superior del arbre Git mitjançant l'execució de: 49 50 $ make build
Tenint en compte que es necessita un cert temps per construir el manual en tots els idiomes suportats, els autors poden utilitzar un dels mètodes abreujats per fer revisions ràpides de la nova documentació que han afegit al manual en anglès. Amb PROOF=1 es construeix live-manual en format html, però sense els fitxers html segmentats, i amb PROOF=2 es construeix live-manual en format pdf, però només el retrat A4 i carta. É s per això que amb l'ûs de qualsevol de les possibilitats PROOF= es pot estalviar una quantitat considerable de temps, per exemple: 51 52 $ make build PROOF=1
Quan es revisa una de les traduccions, é s possible construir un sol idioma mitjançant l'execució de, per exemple: 53 54 $ make build LANGUAGES=de
També es possible crear per tipus de document, per exemple: 55 56 $ make build FORMATS=pdf
O combinar tot dos, per exemple: 57 58 $ make build LANGUAGES=de FORMATS=html
Després de revisar el treball i assegurar-se que tot està bé, no fer un make commit a menys que s'actualitzin les traduccions al mateix temps, i en aquest cas, no barrejar els canvis al manual anglès i les traduccions en el mateix commit, fer-ne un altre separat per a cada canvi. Veure la secció Traducció per a més detalls. 59 1.4.2 Traducció 60 Per a traduir live-manual, seguir aquests passos, depenent de si s'està començant una traducció des de zero o si es segueix treballant en una ja existent: 61 Començar una nova traducció des de zero 62 Traduir els fitxers about_manual.ssi.pot, about_project.ssi.pot i index.html.in.pot de manual/pot/ a la vostra llengua amb el vostre editor favorit (per exemple poedit) . Enviar els fitxers .po traduïts a la llista de correu per comprovar la seva integritat. La comprovació d'integritat de live-manual garanteix que els fitxers .po són traduïts al 100% però també detecta possibles errors. 63 Un cop comprovats, per a activar una nova llengua al autobuild, només cal afegir els fitxers inicials traduïts a manual/po/${LANGUAGE}/ i executar make commit. I llavors editar manual/_sisu/home/index.html afegint el nom de la llengua i el seu nom en anglès entre parèntesis. 64 Continuar amb una traducció ja començada 65 Una vegada que s'ha afegit la nova llengua, es pot continuar traduint la resta de fitxers .po dins de manual/po/${LANGUAGE}/ a l'atzar amb l'editor favorit (com per exemple poedit) . 66 No oblidar que es necessari fer un make commit per a garantir que els manuals traduïts s'actualitzin a partir dels fitxers .po i llavors es poden revisar els canvis executant make build abans de git add ., git commit -m "Translating..." i git push. Recordar que make build pot trigar una quantitat considerable de temps, però es poden revisar els idiomes de forma individual com s'explica a la secció Aplicar canvis 67 Després d'executar make commit es podrà veure bastant text a la pantalla. Bàsicament són missatges informatius sobre l'estat del procés i també algunes pistes sobre el que es pot fer per a millorar live-manual. Si no es veu cap error fatal, generalment es pot procedir i enviar la contribució. 68 live-manual ve amb dues utilitats que poden ser de gran ajuda pels traductors a l'hora de trobar missatges sense traduir i difusos. La primera é s "make translate". Aquesta activa un script que diu en detall quants missatges sense traduir hi ha a cada fitxer .po. La segona, "make fixfuzzy", només actua sobre els missatges difusos però ajuda a trobar-los i corregir-los un per un. 69 Tenir en compte que tot i que aquestes utilitats poden ser molt û tils per a fer traduccions en la línia d'ordres, l'ûs d'una eina especialitzada com poedit é s la manera recomanada de fer la tasca. També é s una bona idea llegir la documentació de localització de debian (l10n) i, específicament dins live-manual, les Directrius per a traductors. 70 Nota: Es pot utilitzar make clean per a netejar l'arbre git abans de fer un push. Aquest pas no é s obligatori, gràcies al fitxer .gitignore, però é s una bona pràctica per a evitar enviar fitxers de forma involuntària. 71 Sobre el Live Systems Project 72 2. Sobre el Live Systems Project 73 2.1 Motivació 74 2.1.1 Què passa amb els sistemes vius actuals 75 Quan el Live Systems Project va començar, ja hi havia diversos sistemes vius basats en Debian disponibles i que estaven fent una gran feina. Des de la perspectiva de Debian la majoria d'ells tenien un o més dels desavantatges segýents: 76 No són projectes de Debian i per tant no tenen suport des de Debian. 77 Es barregen diferents distribucions, per exemple testing i unstable. 78 Només donen suport a i386. 79 Es modifique el comportament i/o l'aparença dels paquets, per a estalviar espai. 80 S'inclouen paquets de fora de l'arxiu de Debian. 81 Inclouen nuclis personalitzats amb pedaços addicionals que no són part de Debian. 82 Són grans i lents a causa de la seva mida i per tant no aptes com a sistemes de rescat. 83 No estan disponibles en diferents formats, per exemple, CD, DVD, memòries USB i imatges netboot. 84 2.1.2 Per què crear el nostre pròpi sistema viu? 85 Debian é s el sistema operatiu universal: Debian té un sistema viu per a mostrar arreu i per a representar acuradament el sistema Debian amb els segýents avantatges: 86 Es tracta d'un subprojecte de Debian. 87 Reflecteix l'estat (actual) d'una distribució. 88 Funciona en tantes arquitectures com é s possible. 89 Es tracta només de paquets Debian sense modificacions. 90 No conté paquets que no són a l'arxiu de Debian. 91 S'utilitza un nucli Debian sense alteracions i sense pedaços addicionals. 92 2.2 Filosofia 93 2.2.1 Només paquets Debian sense modificacions de la secció "main" 94 Només farem servir els paquets del repositori de Debian de la secció "main". La secció non-free no é s part de Debian i per tant no es pot utilitzar per a les imatges oficials del sistema viu. 95 No canviarem cap paquet. Cada vegada que hàgim de canviar alguna cosa, ho farem en coordinació amb el mantenidor del paquet a Debian. 96 Com a excepció, els nostres propis paquets, com ara live-boot, live-build o live-config poden ser utilitzats temporalment des del nostre propi repositori per raons de desenvolupament (per exemple, per a crear instantànies de desenvolupament). Aquests paquets es pujaran a Debian de forma regular. 97 2.2.2 Paquets del sistema viu sense cap configuració 98 En aquesta fase no es publicarà o s'instal·larà cap configuració alternativa o d'exemple. Tots els paquets són utilitzats en la seva configuració per defecte, tal com són després d'una instal·lació normal de Debian. 99 Cada vegada que ens calgui una configuració per defecte diferent, ho farem en coordinació amb el mantenidor del paquet Debian. 100 S'hi inclou un sistema per a configurar paquets mitjançant debconf que permet instal·lar paquets configurats de forma personalitzada dins d'una imatge en viu, però per a les imatges en viu prefabricades només utilitzarem una configuració per defecte, a menys que sigui absolutament necessari per a poder treballar en l'entorn en viu. Sempre que sigui possible, preferim adaptar els paquets a l'arxiu de Debian perquè funcionin en un sistema en viu abans que realitzar canvis en la cadena d'eines en viu o en les configuracions de les imatges prefabricades. per a obtenir més informació, veure Visió general de la personalització. 101 2.3 Contacte 102 Llista de correu: El contacte principal del projecte é s la llista de correu a <https://lists.debian.org/debian-live/>. Es pot enviar un correu directament a <debian-live@lists.debian.org> Els arxius de la llista són a <https://lists.debian.org/debian-live/>. 103 IRC: Un nombre d'usuaris i desenvolupadors estan presents al canal #debian-live a irc.debian.org (OFTC). Quan es pregunta al IRC, s'ha de tenir paciència esperant una resposta, si no hi ha cap resposta, es pot enviar un correu a la llista. 104 BTS: ElSistema de seguiment d'errors de Debian⌡<https://www.debian.org/Bugs/> (BTS) conté detalls d'errors notificats per usuaris i desenvolupadors. A cada error se li assigna un nûmero i es manté a l'arxiu fins que es marca com tractat. Per a obtenir més informació, vegeu ⌠Informar dels errors. 105 Usuari 106 Instal·lació 107 3. Instal·lació 108 3.1 Requisits 109 La construcció d'imatges en viu té molts pocs requisits. 110 Accés de superusuari (root) 111 Una versió actualitzada de live-build 112 Una shell compatible amb POSIX, com ara bash o dash 113 debootstrap o cdebootstrap 114 Linux 2.6.x o superior. 115 Tenir en compte que no cal usar Debian o una distribució derivada de Debian ja que live-build funcionarà en gairebé qualsevol distribució amb els requisits anteriors. 116 3.2 Instal·lació de live-build 117 Es pot instal·lar live-build en un nombre de maneres diferentes: 118 Des del repositori Debian 119 A partir del codi font 120 A partir d'instantànies 121 Si s'utilitza Debian, la manera recomanada é s instal·lar live-build des del repositori de Debian. 122 3.2.1 Des del repositori de Debian 123 Només cal instal·lar live-build com qualsevol altre paquet: 124 125 # apt-get install live-build
3.2.2 A partir del codi font 126 live-build es desenvolupa utilitzant el sistema de control de versions Git. En els sistemes basats en Debian, això é s proporcionat pel paquet git. Per a comprovar l'ûltim codi, executar: 127 128 $ git clone git://live-systems.org/git/live-build.git
Es pot construir i instal·lar un paquet Debian pròpi mitjançant l'execució de: 129 130 $ cd live-build
   $ dpkg-buildpackage -b -uc -us
   $ cd ..
Ara instal·lar qualsevol dels fitxers .deb recent construïts que ens interessen, per exemple, 131 132 # dpkg -i live-build_4.0-1_all.deb
Es pot instal·lar live-build directament al sistema mitjançant l'execució de: 133 134 # make install
i desinstal·lar amb: 135 136 # make uninstall
3.2.3 A partir d'instantànies 137 Si no es desitja construir o instal·lar live-build a partir de les fonts, es pot utilitzar les instantànies. Aquestes es construeixen automàticament a partir de l'ûltima versió del Git, i estan disponibles a <http://live-systems.org/debian/>. 138 3.3 Instal.lació de live-boot i live-config 139 Nota: No cal instal·lar live-boot o live-config en el sistema per a crear sistemes personalitzats en viu. No obstant, això no farà cap mal i é s û til per a fins de referència. Si només es vol la documentació, ara es poden instal·lar els paquets live-boot-doc i live-config-doc per separat. 140 3.3.1 Des del repositori de Debian 141 Tots dos, live-boot i live-config, estan disponibles al arxiu de Debian, d'una manera similar a Instal·lació de live-build. 142 3.3.2 A partir del codi font 143 Per a utilitzar les darreres fonts del git, es pot seguir el procés seguent. Assegurar-se d'estar familiaritzat amb els termes esmentats a Termes. 144 Clonar les fonts de live-boot i live-config 145 146 $ git clone git://live-systems.org/git/live-boot.git
   $ git clone git://live-systems.org/git/live-config.git
Consultar les pàgines del manual de live-boot i live-config per a més detalls sobre la seva personalització si aquesta é s la raó per a construir aquests paquets a partir de les fonts. 147 Crear els fitxers .deb de live-boot i live-config 148 S'ha de crear ja sigui en la distribució de destinació o en un chroot que contingui la plataforma de destinació: é s a dir, si el objectiu é s buster llavors s'ha de construir contra buster. 149 Es pot utilitzar un constructor personal, com ara pbuilder o sbuild si es necessita crear live-boot per a una distribució de destinació diferenta del sistema de construcció. Per exemple, per a les imatges en viu de buster, crear live-boot en un chroot buster. Si la distribució de destinació per casualitat coincideix amb la distribució del sistema de construcció, es pot construir directament en el sistema de construcció amb dpkg-buildpackage (proporcionat pel paquet dpkg-dev) : 150 151 $ cd live-boot
   $ dpkg-buildpackage -b -uc -us
   $ cd ../live-config
   $ dpkg-buildpackage -b -uc -us
Utilitzar tots el fitxers .deb generats que calguin 152 Com live-boot i live-config són instal·lats per el sistema de construcció live-build, instal·lar els paquets en el sistema amfitrió no é s suficient: s'ha de tractar els .deb generats com si fossin uns paquets personalitzats. Ja que el propòsit per a construir aquests paquets a partir del codi font é s per a provar coses noves a curt termini abans del llançament oficial, seguir els pasos de Instal·lació de paquets modificats o de tercers per a incloure temporalment els paquets rellevants en la configuració. En particular, cal observar que ambdós paquets es divideixen en una part genèrica, una part de documentació i un o més back-ends. Incloure la part genèrica, només un dels back-ends que coincideixi amb la configuració, i, opcionalment, la documentació. Suposant que s'està construint una imatge en viu en el directori actual i que s'han generat tots els .deb per a una û nica versió dels dos paquets al directori superior, aquestes ordres de bash són per a copiar tots els paquets importants, incloent-hi els back-ends per defecte: 153 154 $ cp ../live-boot{_,-initramfs-tools,-doc}*.deb &#160;config/packages.chroot/
   $ cp ../live-config{_,-sysvinit,-doc}*.deb &#160;config/packages.chroot/
3.3.3 A partir d'instantànies 155 Es pot deixar que live-build utilitzi les darreres instantànies de live-boot i live-config configurant el repositori de tercers live-systems.org en el directori de configuració de live-build. 156 Conceptes bàsics 157 4. Conceptes bàsics 158 Aquest capítol conté una breu descripció del procés de construcció i les instruccions per a l'utilització dels tres tipus d'imatge més comunes. El tipus d'imatge més versàtil iso-hybrid es pot utilitzar en una màquina virtual, en un medi ò ptic o qualsevol altre dispositiu d'emmagatzematge USB. En certs casos especials, com s'explica més endavant, el tipus hdd pot ser el més adequat. El capítol conté instruccions detallades per a la construcció d'una imatge tipus netboot, que é s una mica més complicat a causa de la configuració necessària en el servidor. Aquest é s un tema una mica avançat per a algû que no està familiaritzat ja amb l'arrencada en xarxa, però s'inclou aquí perquè un cop que la configuració es porta a terme, es tracta d'una manera molt convenient per a provar i desplegar imatges per a l'arrencada en xarxa local sense la molèstia de tractar amb els dispositius de les imatges. 159 La secció acaba amb una breu introducció al webbooting que é s, potser, la forma més fàcil d'utilitzar imatges diferents per a diferents propòsits, canviant d'una a l'altra segons sigui necessari, utilitzant internet com un mitjà. 160 Al llarg del capítol, sovint es fa referència als noms dels fitxers produïts per defecte per live-build. Si es descarrega una imatge prefabricada, els noms dels fitxers poden ser direrents. 161 4.1 Què é s un sistema viu? 162 Un sistema viu é s un sistema operatiu que arrenca en un equip des d'un dispositiu extraïble, com un CD-ROM o una memòria USB o des d'una xarxa, a punt per a fer servir sense cap tipus d'instal·lació en la unitat(s) habitual(s), amb una configuració automàtica feta en temps d'execució (veure Termes). 163 Amb live systems, é s un sistema operatiu, construït per a una de les arquitectures suportades (actualment amd64 i i386). Conté les segýents parts: 164 Imatge del nucli Linux, generalment s'anomena vmlinuz* 165 Imatge del disc RAM inicial (initrd): un disc RAM configurat per a l'arrencada de Linux, que conté els mòduls que possiblement es necessitaran per a muntar la imatge del sistema i algunes seqý&#232;ncies d'ordres per a fer-ho. 166 Imatge del sistema: Imatge del sistema de fitxers del sistema operatiu. Normalment, s'utilitza un sistema de fitxers comprimit SquashFS per a minimitzar la mida de la imatge. Tenir en compte que é s de només lectura. Així, durant l'arrencada, el sistema Debian Live utilitzarà el disc RAM i un mecanisme de "unió" per a permetre l'escriptura de fitxers en el sistema en funcionament. No obstant això, totes les modificacions es perdran al apagar l'equip si no é s que s'utilitza la persistència opcional (vegeu Persistència). 167 Carregador d'arrencada : Una petita peça de codi dissenyat per a arrencar des del medi triat, possiblement presentant un indicador d'arrencada o un menû per a permetre la selecció d'opcions/configuració. Carrega el nucli de Linux i el seu initrd per a funcionar amb un sistema de fitxers del sistema associat. Es poden utilitzar diverses solucions, en funció del medi de destinació i el format del sistema de fitxers que conté els components esmentats anteriorment: isolinux per a arrencar des de CD o DVD en format ISO9660, syslinux per a una unitat USB o HDD que s'iniciarà des de particions VFAT, extlinux per a particions ext2/3/4 i btrfs, pxelinux per a PXE netboot, GRUB per a particions ext2/3/4, etc. 168 Es pot utilitzar live-build per a construir la imatge del sistema amb especificacions pròpies, configurar un nucli de Linux, el initrd, i un carregador d'arrencada per a executar-los, tot això en un format depenent del medi (imatge ISO9660, imatge de disc, etc.). 169 4.2 Descàrrega d'imatges prefabricades 170 Si bé l'objectiu d'aquest manual é s el desenvolupament i la construcció d'imatges en viu pròpies, es pot simplement voler provar una de les nostres imatges prefabricades, ja sigui com una introducció al seu û s o a la construcció d'imatges personalitzades. Aquestes imatges estan construïdes utilitzant el nostre repositori git live-images i les versions oficials estables es publiquen a <https://www.debian.org/CD/live/>. A més, les versions antigues i les futures, i les imatges no oficials que contenen microprogramari i controladors no lliures estan disponibles a <http://live-systems.org/cdimage/release/>. 171 4.3 Ú s del servei de construcció d'imatges en viu web 172 Com un servei a la comunitat, oferim un servei web capaç de construïr imatges en viu a <http://live-systems.org/build/>. Aquest lloc es mantingut sobre una base del millor esforç. É s a dir, encara que ens esforcem per a mantenir-lo al dia i que estigui operatiu en tot moment, i de fer anuncis d'interrupcions importants del servei, no podem garantir una disponibilitat del 100% o una creació d'imatges ràpida. Tanmateix, el servei pot tenir, de tant en tant, problemes que triguin algun temps en resoldre's. Si es té problemes o preguntes sobre aquest servei, posar-se en contacte amb nosaltres, proporcionant l'enllaç a la pàgina web de la imatge construïda. 173 4.3.1 Ú s i advertències sobre el servei web 174 La interfície web actualment no pot prevenir l'ûs de combinacions d'opcions no vàlides, i en particular, quan el canvi d'una opció que normalment (és a dir, utilitzant live-build directament) canviaria els valors predeterminats d'altres opcions que figuren en el formulari de la web, el constructor web no canvia aquests valors predeterminats. En particular, si es canvia --architectures del valor per defecte i386 a amd64, s'ha de canviar l'opció corresponent --linux-flavours del valor per defecte 586 a amd64. Veure la pàgina del manual lb_config per a la versió de live-build instal·lada al constructor web per a més detalls. El nombre de la versió de live-build apareix a la part inferior de la pàgina web. 175 El càlcul de temps donat pel constructor web é s només una estimació aproximada i pot no reflectir acuradament el temps que realment es necessita per a finalitzar la construcció d'una imatge. Tenir en compte que aquesta estimació tampoc s'actualitza tal i com va passant el temps. Cal tenir una mica de paciència. No tornar a carregar la pàgina després de enviar la proposta de construcció, ja que això pot tornar a reenviar una nova petició amb els mateixos paràmetres. Posar-se en contacte amb nosaltres si no es rep la notificació de la construcció un cop que s'estigui segur que s'ha esperat prou i verificat que la notificació per correu electrònic no ha anat a parar al spam. 176 El servei web està limitat en el tipus d'imatges que es poden construir. Això el manté simple i eficient d'utilitzar i mantenir. Si es desitja realitzar personalitzacions que no es contemplen en la interfície web, a la resta d'aquest manual s'explica com crear imatges pròpies amb live-build. 177 4.4 Primers passos: construcció d'una imatge ISO híbrida 178 Independentment del tipus d'imatge, s'haurà de fer els mateixos passos bàsics per a construir una imatge cada vegada. Com a primer exemple, crear un directori de treball, canviar a aquest directori i executar la segýent seqý&#232;ncia d'ordres live-build per a crear una imatge ISO híbrida de base que conté només el sistema per defecte de Debian sense X.org. É s adequat per a gravar en un CD o DVD, i també per a copiar en una memòria USB. 179 El nom del directori de treball é s absolutament indiferent, però si es fa un cop d'ull als exemples utilitzats a live-manual, é s una bona idea utilitzar un nom que ajudi a identificar la imatge amb que s'està treballant en cada directori, especialment si s'està treballant o experimentant amb diferents tipus d'imatges. En aquest cas, anem a construir un sistema per defecte així que l'anomenarem, per exemple, live-default. 180 181 $ mkdir live-default &&amp; cd live-default
Aleshores, executar l'ordre lb config. Això crearà una jerarquia « config/» en el directori actual per a ser utilitzada per altres ordres: 182 183 $ lb config
Aquí no es passa cap paràmetre a aquestes ordres, per tant s'utilitzaran les opcions per defecte. Veure L'ordre lb config per a més detalls. 184 Ara que la jerarquia « config/» ja existeix, crear la imatge amb l'ordre lb build: 185 186 # lb build
Aquest procés tardarà una mica, depenent de la velocitat del ordinador i de la connexió de la xarxa. Quan hagi acabat, ha d'haver un fitxer imatge live-image-i386.hybrid.iso, a punt per a ser utilitzat, en el directori actual. 187 Nota: Si s'està construint en un sistema amd64 el nom de la imatge resultant serà live-image-amd64.hybrid.iso. Tenir en compte aquesta convenció al llarg del manual. 188 4.5 Usar una imatge ISO híbrida en viu 189 Després de la construcció o la descàrrega d'una imatge ISO híbrida, que pot ser obtinguda a <https://www.debian.org/CD/live/>, el segýent pas habitual é s preparar el dispositiu per a l'arrencada, ja sigui medis ò ptics com un CD-R(W) o DVD-R(W) o una memòria USB. 190 4.5.1 Gravar una imatge ISO en un medi físic 191 Gravar una imatge ISO é s fàcil. Simplement cal instal·lar xorriso i utilitzar-lo des de la línia d'ordres per a gravar la imatge. Per exemple: 192 193 # apt-get install xorriso
   $ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed live-image-i386.hybrid.iso
4.5.2 Copiar una imatge ISO híbrida en un dispositiu USB 194 Les imatges ISO preparades amb xorriso, é s poden copiar directament a una memòria USB utilitzant el programa cp o un altre d'equivalent. Connectar una memòria USB amb una mida prou gran per al fitxer de la imatge i determinar quin dispositiu é s, que d'ara endavant anomenarem ${USBSTICK}. Aquest é s el dispositiu de la memòria, com per exemple /dev/sdb, i no una partició, com ara /dev/sdb1! Es pot trobar el nom del dispositiu correcte mirant la sortida de dmesg després de connectar la memòria usb, o encara millor, ls -l /dev/disk/by-id. 195 Quan s'estigui segur de tenir el nom del dispositiu correcte, utilitzar l'ordre cp per a copiar la imatge a la memòria. Fent això es perdran definitivament tots els continguts anteriors de la memòria usb! 196 197 $ cp live-image-i386.hybrid.iso ${USBSTICK}
   $ sync
Nota: L'ordre sync s'utilitza per a assegurar-se que totes les dades, que el nucli emmagatzema en la memòria durant la còpia de la imatge, s'escriuen en el dispositiu USB. 198 4.5.3 Utilitzar l'espai lliure en una memòria USB 199 Després de copiar la live-image-i386.hybrid.iso en un dispositiu USB, la primera partició serà utilitzada pel sistema en viu. Per a poder utilitzar l'espai que queda lliure es pot utilitzar una eina de particionament com gparted o parted per a crear una nova partició. 200 201 # gparted ${USBSTICK}
Després de crear la partició, on ${PARTITION} é s el nom de la partició, com ara /dev/sdb2, s'ha de crear un sistema de fitxers. Una opció possible seria ext4. 202 203 # mkfs.ext4 ${PARTITION}
Nota: Si es vol utilitzar l'espai addicional amb Windows, pel que sembla, aquest sistema operatiu normalment no pot accedir a altres particions més que a la primera. Algunes solucions a aquest problema han estat discutides a la nostra llista de correu, però sembla que no hi ha respostes fàcils. 204 Recordar: Cada vegada que s'instal·li una nova live-image-i386.hybrid.iso al dispositiu, es perdran totes les dades perquè la taula de particions se sobreescriu amb el contingut de la imatge, de manera que es assenyat fer una còpia de seguretat de la partició addicional per a restaurar les dades de nou després d'actualitzar la imatge en viu. 205 4.5.4 Arrencar el medi en viu 206 La primera vegada que s'arrenqui el medi en viu, ja sigui des de CD, DVD, memòria USB, o PXE, pot ser necessaria alguna petita configuració al BIOS del ordinador en primer lloc. Atès que les BIOS varien molt en les seves funcions i dreceres de teclat, no podem entrar en el tema en profunditat aquí. Algunes BIOS proporcionen una tecla per a obrir un menû de dispositius d'arrencada, que é s la manera més fàcil si es troba disponible al sistema. En cas contrari, cal entrar al menû de configuració del BIOS i canviar l'ordre d'arrencada per a situar el dispositiu del sistema en viu abans que el dispositiu d'arrencada normal. 207 Després d'arrencar des del dispositiu, es veurà un menu d'inici. Si es prem « entrer» el sistema s'iniciarà amb l'entrada Live i les seves opcions per defecte. Per a obtenir més informació sobre les opcions d'arrencada, llegir « l'ajuda» (help) al menû i també les pàgines del manual de live-boot i live-config que es troben dins del sistema en viu. 208 Suposant que s'ha seleccionat Live i s'ha arrencat una imatge d'escriptori per defecte, després que els missatges d'arrencada hagin passat s'haurà iniciat una sessió com a usuari user i es veurà un escriptori, a punt per a ser utilitzat. Si s'ha arrencat una imatge de només consola, com per exemple una imatge standard de les imatges prefabricades, s'iniciarà una sessió com a usuari user i es veurà el indicador de la shell, a punt per a ser utilitzat. 209 4.6 Utilitzar una màquina virtual per a fer proves 210 Pot ser un gran estalvi de temps per al desenvolupament d'imatges en viu executar-les en una màquina virtual (VM). Això no està exempt d'advertiments: 211 L'execució d'una màquina virtual requereix de suficient memòria RAM, tant per al sistema operatiu convidat i l'amfitrió i es recomana una CPU amb suport de maquinari per a la virtualització. 212 Hi ha algunes limitacions inherents a l'execució en una màquina virtual, per exemple, rendiment de vídeo pobre, opcions limitadades de maquinari emulat. 213 En el desenvolupament per a un maquinari específic, no hi ha cap substitut millor que el propi maquinari. 214 De tant en tant hi ha errors que només sorgeixen durant l'execució en una màquina virtual. En cas de dubte, comprovar la imatge directament al maquinari. 215 Sempre que es pugui treballar dins d'aquestes limitacions, examinar el programari de màquina virtual disponible i triar un que sigui adequat per a les necessitats pròpies. 216 4.6.1 Provar una imatge ISO amb QEMU 217 La màquina virtual més versàtil dins Debian é s QEMU. Si el processador té suport de maquinari per a la virtualització, utilitzar el paquet qemu-kvm; la descripció del paquet qemu-kvm enumera breument els requisits. 218 Primer, instal·lar qemu-kvm si el processador ho suporta. Si no, instal·lar qemu, en aquest cas el nom del programa é s qemu en lloc de kvm en els exemples segýents. El paquet qemu-utils també é s valuós per a la creació d'imatges de disc virtuals amb qemu-img. 219 220 # apt-get install qemu-kvm qemu-utils
Arrencar una imatge ISO é s senzill: 221 222 $ kvm -cdrom live-image-i386.hybrid.iso
Veure les pàgines del manual per a més detalls 223 4.6.2 Provar una imatge ISO amb VirtualBox 224 Per a provar la ISO amb virtualbox: 225 226 # apt-get install virtualbox virtualbox-qt virtualbox-dkms
   $ virtualbox
Crear una nova màquina virtual, canviar els paràmetres d'emmagatzematge per a utilitzar live-image-i386.hybrid.iso com unitat de CD/DVD i arrencar la màquina. 227 Nota: Per a provar sistemes vius que contenen X.org amb virtualbox, segurament es assenyat incloure el paquet del driver VirtualBox X.org, virtualbox-guest-dkms i virtualbox-guest-x11, en la configuració de live-build. En cas contrari, la resolució es limita a 800x600. 228 229 $ echo "virtualbox-guest-dkms virtualbox-guest-x11" > > config/package-lists/my.list.chroot
Per tal de fer que el paquet dkms funcioni, s'han d'instal·lar també les capçaleres del nucli per a la variant del nucli de la imatge. En lloc d'enumerar manualment el paquet linux-headers correcte en la llista de paquets creat anteriorment, la selecció del paquet adequat es pot fer automàticament amb live-build. 230 231  &#160;$ lb config --linux-packages "linux-image linux-headers"
4.7 Construir i utilitzar una imatge HDD 232 Construir una imatge HDD é s similar a una ISO híbrida en tots els aspectes, excepte que s'especifica -b hdd, que el nom del fitxer resultant é s live-image-i386.img i que no es pot gravar en medis ò ptics. É s adequada per a arrencar des de dispositius USB, discs durs USB, i altres dispositius d'emmagatzematge portàtils. Normalment, una imatge ISO híbrida es pot utilitzar per a aquest propòsit en el seu lloc, però si el BIOS no maneja adequadament les imatges híbrides, cal utilitzar una imatge HDD. 233 Nota: si s'ha creat una imatge ISO híbrida amb l'exemple anterior, s'haurà de netejar el directori de treball amb l'ordre lb clean (veure L'ordre lb clean): 234 235 # lb clean --binary
Executar l'ordre lb config com abans, excepte que aquesta vegada especificant el tipus d'imatge HDD: 236 237 $ lb config -b hdd
Ara construir la imatge amb l'ordre lb build: 238 239 # lb build
Quan la construcció acabi, hauria d'haver un fitxer live-image-i386.img al directori actual. 240 La imatge binària generada conté una partició VFAT i el carregador d'arrencada syslinux, llestos per a ser escrits directament a una memòria USB. Un cop més, donat que l'ûs d'una imatge HDD é s com utilitzar una imatge ISO híbrida en un USB, seguir les instruccions de Usar una imatge ISO híbrida en viu, però amb el nom de fitxer live-image-i386.img en lloc de live-image-i386.hybrid.iso. 241 Igualment, per a provar una imatge HDD amb Qemu, instal·lar qemu com s'ha descrit anteriorment a Provar una imatge ISO amb QEMU. A continuació, executar kvm o qemu, segons la versió instal·lada al sistema amfitrió, especificant live-image-i386.img com a primer disc dur. 242 243 $ kvm -hda live-image-i386.img
4.8 Construir una imatge netboot 244 La segýent seqý&#232;ncia d'ordres crearà una imatge netboot bàsica que conté el sistema per defecte de Debian sense X.org. É s adequada per a l'arrencada en xarxa. 245 Nota: si s'ha realitzat algun dels exemples anteriors, s'haurà de netejar el directori de treball amb l'ordre lb clean: 246 247 # lb clean
En aquest cas concret, un lb clean --binary no seria suficient per a netejar les etapes necessàries. La causa d'això é s que en les configuracions d'arrencada en xarxa, es necessita una configuració initramfs diferent que live-build realitza automàticament quan es construeixen imatges netboot. Ja que la creació del initramfs pertany a l'etapa chroot, fer el canvi a netboot en un directori de construcció existent significa reconstruir l'etapa chroot també. Per tant, s'ha de fer un lb clean (que eliminarà l'etapa chroot, també) 248 Executar l'ordre segýent per a configurar la imatge per a arrencar en xarxa: 249 250 $ lb config -b netboot --net-root-path "/srv/debian-live" --net-root-server "192.168.0.2"
A diferència de les imatges ISO i HDD, l'arrencada en xarxa no serveix el sistema de fitxers al client, per tant els fitxers han de ser servits a través de NFS. Amb lb config es poden elegir diferents sistemes de fitxers de xarxa. Les opcions --net-root-path i --net-root-server especifiquen la ubicació i el servidor, respectivament, del servidor NFS on es troba la imatge del sistema de fitxers a l'hora d'arrencar. Assegurar-se que aquests s'ajusten als valors adequats per a la xarxa i el servidor. 251 Ara construir la imatge amb l'ordre lb build: 252 253 # lb build
En l'arrencada en xarxa, el client executa una petita peça de programari que normalment es troba a la EPROM de la targeta Ethernet. Aquest programa envia una petició DHCP per a obtenir una adreça IP i la informació sobre què fer a continuació. Per regla general, el segýent pas é s aconseguir un carregador d'arrencada de més alt nivell a través del protocol TFTP. Podria ser GRUB, pxelinux o fins i tot arrencar directament a un sistema operatiu com Linux. 254 Per exemple, si es descomprimeix el arxiu live-image-i386.netboot.tar generat al directori /srv/debian-live, es trobarà la imatge del sistema de fitxers a live/filesystem.squashfs i el nucli, initrd i carregador d'arrencada pxelinux a tftpboot/. 255 Ara hem de configurar els tres serveis al servidor per a l'arrencada en xarxa: el servidor DHCP, servidor TFTP i el servidor NFS. 256 4.8.1 Servidor DHCP 257 S'ha de configurar el servidor DHCP de la xarxa per a assegurar-se que dona una adreça IP per al client del sistema d'arrencada en xarxa, i per a anunciar la ubicació del carregador d'arrencada PXE. 258 Heus aquí un exemple per a servir d'inspiració, escrit per al servidor ISC DHCP isc-dhcp-server al fitxer de configuració /etc/dhcp/dhcpd.conf: 259 260 # /etc/dhcp/dhcpd.conf - configuration file for isc-dhcp-server
&lt;br />   ddns-update-style none;&lt;br />&lt;br />   option domain-name "example.org";&lt;br />   option domain-name-servers ns1.example.org, ns2.example.org;&lt;br />&lt;br />   default-lease-time 600;&lt;br />   max-lease-time 7200;&lt;br />&lt;br />   log-facility local7;&lt;br />&lt;br />   subnet 192.168.0.0 netmask 255.255.255.0 {
    &#160;&#160;range 192.168.0.1 192.168.0.254;&lt;br />    &#160;&#160;filename "pxelinux.0";&lt;br />    &#160;&#160;next-server 192.168.0.2;&lt;br />    &#160;&#160;option subnet-mask 255.255.255.0;&lt;br />    &#160;&#160;option broadcast-address 192.168.0.255;&lt;br />    &#160;&#160;option routers 192.168.0.1;&lt;br />   }
4.8.2 Servidor TFTP 261 Aquest serveix el nucli i el disc ram inicial per al sistema en temps d'execució. 262 S'ha d'instal·lar el paquet tftpd-hpa. Aquest pot servir tots els fitxers continguts dins d'un directori arrel, per regla general /srv/tftp. Per tal que es serveixin els fitxers dins de /srv/debian-live/tftpboot, s'ha d'executar com a superusuari la segýent ordre: 263 264 # dpkg-reconfigure -plow tftpd-hpa
i omplir el nou directori del servidor tftp quan ho hàgim de fer. 265 4.8.3 Servidor NFS 266 Un cop l'ordinador ha descarregat, ha arrencat el nucli de Linux i ha carregat el initrd, intentarà muntar la imatge del sistema de fitxers en viu a través d'un servidor NFS. 267 S'ha d'instal·lar el paquet nfs-kernel-server 268 Llavors, fer que la imatge del sistema de fitxers estigui disponible a través de NFS afegint una línia com la segýent a /etc/exports: 269 270 /srv/debian-live *(ro,async,no_root_squash,no_subtree_check)
i informar al servidor NFS sobre aquesta nova exportació amb la segýent ordre: 271 272 # exportfs -rv
La configuració d'aquests tres serveis pot ser una mica difícil. É s possible que es necessiti una mica de paciència per a aconseguir que tots tres funcionin plegats. Per a obtenir més informació, veure el wiki de syslinux a <http://www.syslinux.org/wiki/index.php/PXELINUX> o la secció TFTP Net Booting al Manual del Instal·lador de Debian a <http://d-i.alioth.debian.org/manual/ca.i386/ch04s05.html>. Això pot ajudar, ja que els seus processos són molt similars. 273 4.8.4 Com provar l'arrencada en xarxa 274 La creació d'imatges d'arrencada en xarxa es senzilla amb live-build, però provar les imatges en màquines físiques pot costar molt de temps. 275 Per a fer la nostra vida més fàcil, podem utilitzar la virtualització. 276 4.8.5 Qemu 277 Instal·lar qemu, bridge-utils, sudo. 278 Editar /etc/qemu-ifup: 279 280 #!/bin/sh
   sudo -p "Password for $0:" /sbin/ifconfig $1 172.20.0.1
   echo "Executing /etc/qemu-ifup"
   echo "Bringing up $1 for bridged mode..."
   sudo /sbin/ifconfig $1 0.0.0.0 promisc up
   echo "Adding $1 to br0..."
   sudo /usr/sbin/brctl addif br0 $1
   sleep 2
Descarregar o crear un grub-floppy-netboot. 281 Llançar qemu amb "-net nic,vlan=0 -net tap,vlan=0,ifname=tun0" 282 4.9 Webbooting 283 Webbooting é s una manera convenient d'aconseguir i arrencar sistemes vius utilitzant internet com un mitjà. Els requisits per fer webbooting són molt pocs. D'una banda, es necessita un dispositiu amb un carregador d'arrencada, un disc ram inicial i un nucli. D'altra banda, un servidor web per emmagatzemar els fitxers squashfs que contenen el sistema de fitxers. 284 4.9.1 Obtenir els fitxers webboot 285 Com de costum, es pot construir les imatges un mateix o utilitzar els fitxers prefabricats, que estan disponibles a la pàgina principal del projecte a <http://live-systems.org/>. Les imatges prefabricades són adients per fer proves inicials fins que un pugui afinar les seves pròpies necessitats. Si ja s'ha construït una imatge en viu, els fitxers necessaris pel webbooting es troben al directori de construcció sota binary/live/. Els fitxers s'anomenen vmlinuz, initrd.img i filesystem.squashfs. 286 També é s possible extreure els fitxers d'una imatge iso ja existent. Per tal d'aconseguir això, muntar la imatge de la segýent manera: 287 288 # mount -o loop image.iso /mnt
Els fitxers es troben sota el directori live/. En aquest cas concret, seria /mnt/live/. Aquest mètode té el desavantatge que cal ser root per poder muntar la imatge. No obstant això, té l'avantatge que é s fàcil de fer amb un script, i per tant es pot automatitzar. 289 Però, sens dubte, la forma més fàcil d'extreure els fitxers d'una imatge iso i pujar-los al servidor web a la vegada, é s utilitzant el midnight commander o mc. Si es té el paquet genisoimage instal·lat, aquest gestor de fitxers de dos panells permet examinar el contingut d'un arxiu iso en un panell i pujar els fitxers via ftp en l'altre panell. Tot i que aquest mètode requereix fer un treball manual, no requereix privilegis de root. 290 4.9.2 Arrencar imatges webboot 291 Mentre que alguns usuaris prefereixen utilitzar la virtualització per prova el webbooting, en aquest cas utilitzem maquinari real perquè coincideixi amb el segýent cas d'ûs, que només ha de ser considerat com un exemple. 292 Per a arrencar una imatge webboot é s suficient tenir els components esmentats anteriorment, é s a dir, vmlinuz i initrd.img en una memòria usb dins d'un directori anomenat live/ i instal·lar syslinux com a gestor d'arrencada. Després, arrencar des de la memòria usb i escriure fetch=URL/RUTA/AL/FITXER a les opcions d'arrencada. live-boot descarregarà l'arxiu squashfs i l'emmagatzemarà en la memòria ram. D'aquesta manera, é s possible utilitzar el sistema de fitxers comprimit descarregat com si fos un sistema viu normal. Per exemple: 293 294 append boot=live components fetch=http://192.168.2.50/images/webboot/filesystem.squashfs
Cas d'ûs: Tenir un servidor web en el qual s'ha emmagatzemat dos arxius squashfs, un que conté un escriptori complet, com ara gnome, i un standard. Si es necessita un entorn gràfic per a una màquina, es pot connectar la memòria usb i arrencar la imatge gnome. Si es necessita una de les eines que s'inclouen en el segon tipus d'imatge, potser per a una altra màquina, arrencar des de internet la imatge standard. 295 Descripció general de les eines 296 5. Descripció general de les eines 297 Aquest capítol conté un resum de les tres eines principals utilitzades en la construcció dels sistemes en viu: live-build, live-boot i live-config. 298 5.1 El paquet live-build 299 live-build é s un conjunt de scripts per a crear sistemes en viu. Aquests scripts també s'anomenen « ordres». 300 La idea darrere de live-build é s ser un marc que utilitza un directori de configuració per automatitzar completament i personalitzar tots els aspectes de la construcció d'una imatge en viu. 301 Molts conceptes són similars als utilitzats per a crear paquets Debian amb debhelper: 302 Els scripts tenen una ubicació central per a la configuració del seu funcionament. Amb debhelper aquest é s el subdirectori debian/ d'un arbre de paquets. Per exemple, dh_install buscarà, entre altres, un fitxer anomenat debian/install per a determinar quins fitxers han d'existir en un paquet binari en particular. De la mateixa manera, live-build emmagatzema la seva configuració per complet sota un subdirectori config/. 303 Els scripts són independents - é s a dir, sempre é s segur executar cada ordre. 304 A diferència de debhelper, live-build proporciona les eines per a generar un directori de configuració en esquelet. Això podria ser considerat similar a eines com ara dh-make. Per a més informació sobre aquestes eines, seguiu llegint, ja que la resta d'aquesta secció discuteix les quatre ordres més importants. Tenir en compte que van precedices de lb que é s una funció genèrica per a les ordres de live-build. 305 lb config: Responsable d'inicialitzar un directori de configuració per al sistema en viu. Consultar L'ordre lb config per a més informació. 306 lb build: Responsable d'iniciar la creació d'un sistema en viu. Consultar L'ordre lb build per a més informació. 307 lb clean: Responsable d'eliminar parts de la construcció d'un sistema viu. Consultar L'ordre lb clean per a més informació. 308 5.1.1 L'ordre lb config 309 Com s'ha dit a live-build, les seqý&#232;ncies d'ordres que formen part de live-build llegeixen la seva configuració amb l'ordre source d'un û nic directori anomenat config/. Com la construcció d'aquest directori a mà, seria molt costós i propens a errors, es pot utilitzar l'ordre lb config per a crear l'arbre inicial de configuració en esquelet. 310 Executar lb config sense arguments crea el subdirectori config/ que s'omple amb alguns paràmetres per defecte en fitxers de configuració, i dos arbres de subdirectoris en esquelet que s'anomenen auto/ i local/. 311 312 $ lb config
   [2015-01-06 19:25:58] lb config
   P: Creating config tree for a debian/stretch/i386 system
   P: Symlinking hooks...
Utilitzar lb config sense cap tipus d'arguments seria convenient per als usuaris que necessiten una imatge molt bàsica, o que tinguin la intenció de proporcionar una configuració més completa més tard mitjançant auto/config (Veure Gestió d'una configuració per a més detalls). 313 Normalment, s'haurà d'especificar algunes opcions. Per exemple, per a especificar quin gestor de paquets utilitzar durant la construcció de la imatge: 314 315 $ lb config --apt aptitude
É s possible especificar diverses opcions, com ara: 316 317 $ lb config --binary-images netboot --bootappend-live "boot=live components hostname=live-host username=live-user" ...
Una llista completa d'opcions està disponible a la pàgina del manual lb_config. 318 5.1.2 L'ordre lb build 319 L'ordre lb build llegeix la configuració del directori config/. A continuació, executa les ordres de nivell inferior necessàries per a construir el sistema en viu. 320 5.1.3 L'ordre lb clean 321 L'ordre lb clean s'encarrega d'eliminar diverses parts d'una construcció per a que altres construccions posteriors puguin començar des d'un estat net. Per defecte, es netegen les etapes chroot, binary i source, però la caché es manté intacta. A més, es poden netejar etapes individuals. Per exemple, si s'han fet canvis que només afecten a la fase binary, utilitzar lb clean --binary abans de construir un nou binary. Si els canvis modifiquen el bootstrap i/o la caché de paquets, per exemple, canvis en les opcions --mode, --architecture o --bootstrap, s'ha d'utilitzar lb clean --purge. Veure la pàgina del manual de lb_clean per a una llista completa d'opcions. 322 5.2 El paquet live-boot 323 live-boot é s un conjunt de scripts per a proporcionar hooks a initramfs-tools, que s'utilitzen per a generar un initramfs capaç d'arrencar sistemes vius, com ara els creats per live-build. Això inclou les ISOs dels sistemes en viu, netboot tarballs i imatges per a memòries USB. 324 En el moment d'arrencar, buscarà medis de només lectura que continguin un directori /live/ on s'emmagatzema un sistema de fitxers arrel (sovint una imatge de un sistema de fitxers comprimit squashfs). Si el troba, crearà un entorn d'escriptura, utilitzant aufs, per a que puguin arrencar sistemes com Debian o similars. 325 Més informació sobre ramfs inicial a Debian es pot trobar al Debian Linux Kernel Handbook <http://kernel-handbook.alioth.debian.org/> al capítol sobre initramfs. 326 5.3 El paquet live-config 327 live-config consta dels scripts que s'executen durant l'arrencada després de live-boot per a configurar el sistema en viu de forma automàtica. S'ocupa de tasques com ara l'establiment de les locales, el nom d'amfitrió, la zona horària, crear l'usuari en viu, l'inhibició de tasques de cron i l'inici automàtic de sessió per a l'usuari en viu. 328 Gestió d'una configuració 329 6. Gestió d'una configuració 330 En aquest capítol s'explica com gestionar una configuració d'un sistema en viu des de la seva creació inicial, a través de revisions i versions successives de tant el programari live-build com de la imatge en viu en si mateixa. 331 6.1 Gestionar canvis en la configuració 332 Les configuracions de sistemes en viu poques vegades són perfectes al primer intent. Passar opcions a lb config des de la línea d'ordres pot estar be per a construir una imatge una vegada, però é s més típic revisar aquestes opcions i construir de nou fins que se'n estigui satisfet. Per a donar suport a aquests canvis, es poden utilitzar scripts auto que assegurin que la configuració es manté en un estat consistent. 333 6.1.1 Per què utilitzar scripts auto? Què fan? 334 L'ordre lb config emmagatzema les opcions que se li passen als fitxers de config/*, juntament amb moltes altres opcions que estan establertes als valors per defecte. Si s'executa un cop més, lb config no es restablirà cap de les opcios dependents basades en les opcions inicials. Així, per exemple, si s'executa de nou lb config amb un nou valor per a --binary-images, totes les opcions que en depenen que es van omplir per al tipus de imatge per defecte ja no poden funcionar amb la nova. Aquests fitxers no estan destinats a ser llegits o editats. S'emmagatzemen els valors de més de cent opcions, i ningû pot veure les opcions que s'han especificat realment. I finalment, si s'executa lb config i a continuació s'actualitza live-build i el nom d'una opció canvia, config/* encara contindrà les variables de l'opció vella que ja no són vàlides. 335 Per totes aquestes raons, els scripts auto/* ens fan la vida més fàcil. Són simples embolcalls per les ordres lb config, lb build i lb clean dissenyats per ajudar a gestionar una configuració. Només cal crear un script auto/config que contingui totes les opcions que es desitgin per a lb config, i un auto/clean que elimini els fitxers que continguin diversos valors de variables de configuració, i el script auto/build guarda un build.log de cada construcció. Cada vegada que s'executi l'ordre lb corresponent, aquests fitxers seran executats automàticament. L'ûs d'aquests scripts assegurarà que la configuració sigui més senzilla de llegir i que guardi una coherència interna d'una reversió a una altra. A més a més serà més fàcil identificar i solucionar les opcions que s'han de canviar al actualitzar d'una versió de live-build a la segýent després de llegir la documentació. 336 6.1.2 Utilitzar scripts auto d'exemple 337 Per a més comoditat, live-build ve amb uns scripts d'exemple per a copiar i editar. Iniciar una nova configuració per defecte, i a continuació, copiar els exemples: 338 339 $ mkdir mylive &&amp; cd mylive &&amp; lb config
   $ mkdir auto
   $ cp /usr/share/doc/live-build/examples/auto/* auto/
Editar auto/config, afegint les opcions més adients. Per exemple: 340 341 #!/bin/sh
   lb config noauto \
    &#160;&#160;&#160;&#160;--architectures i386 \
    &#160;&#160;&#160;&#160;--linux-flavours 686-pae \
    &#160;&#160;&#160;&#160;--binary-images hdd \
    &#160;&#160;&#160;&#160;--mirror-bootstrap http://ftp.ch.debian.org/debian/ \
    &#160;&#160;&#160;&#160;--mirror-binary http://ftp.ch.debian.org/debian/ \
    &#160;&#160;&#160;&#160;"${@}"
Ara, cada vegada que s'utilitzi lb config, auto/config restablirà la configuració basada en aquestes opcions. Quan es vulgui fer canvis, editar les opcions d'aquest fitxer en lloc de passar-les a lb config. Quan s'utilitza lb clean, auto/clean netejarà els fitxers de config/* juntament amb els altres productes de construcció. I, finalment, quan s'utilitza lb build, es crea un log de la construcció mitjançant auto/build anomenat build.log. 342 Nota: Aquí s'utilitza un paràmetre especial noauto per a suprimir un altra crida a auto/config, la qual cosa impedeix la recursivitat infinita. Assegurar-se de no eliminarlo accidentalment fent canvis. També, tenir cura de que quan es divideix l'ordre lb config a través de diverses línies per a facilitar la lectura, com es mostra en l'exemple anterior, no s'oblidi la barra invertida (\) al final de cada línia que segueix a la segýent. 343 6.2 Clonar una configuració publicada via Git 344 Utilitzar l'opció lb config --config per a clonar un repositori Git que contingui una configuració en viu. Si es vol basar la configuració en un repositori mantingut pel Live Systems Project, mirar el repositori a <http://live-systems.org/gitweb/> amb el nom live-images sota el títol Packages. Aquest repositori conté les configuracions per a les imatges prefabricades 345 Per exemple, per a construir una imatge standard, utilitzar el repositori live-images de la manera segýent: 346 347 $ mkdir live-images &&amp; cd live-images
   $ lb config --config git://live-systems.org/git/live-images.git
   $ cd images/standard
Editar auto/config i qualsevol altra cosa necessària dins l'arbre config per a satisfer les necessitats pròpies. Per exemple, per a fer les imatges prefabricades no oficials que contenen paquets de la secció non-free simplement s'afegeix --archive-areas "main contrib non-free". 348 Si es desitja, es pot definir una drecera en la configuració de Git, afegint el segýent a ${HOME}/.gitconfig: 349 350 [url "git://live-systems.org/git/"]
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;insteadOf = lso:
Això permet utilitzar lso: en qualsevol lloc on cal especificar la direcció d'un repositori git. També es pot omitir el sufix .git, i així, començar una nova imatge amb aquesta configuració é s tan fàcil com: 351 352 $ lb config --config lso:live-images
Clonar tot el repositori live-images còpia les configuracions utilitzades per diverses imatges. Si es vol construir una imatge diferent després d'haver acabat amb la primera, canviar a un altre directori i un altre cop i, opcionalment, fer els canvis per a adaptar-les a les necessitats pròpies. 353 En qualsevol cas, recordar que cada vegada que s'ha de construir una imatge, s'ha de fer com a superusuari: lb build 354 Personalització dels continguts 355 7. Visió general de la personalització 356 En aquest capítol s'ofereix una visió general de les diverses formes en què es pot personalitzar un sistema en viu. 357 7.1 Configuració durant la construcció vs. durant l'arrencada 358 La configuració de un sistema en viu es divideix en opcions en temps de construcció que són les opcions que s'apliquen durant la seva creació i les opcions d'arrencada del sistema que s'apliquen durant l'arrencada. Les opcions d'arrencada es divideixen en les què ocorren al principi de l'arrencada, aplicades pel paquet live-boot, i les que ocorren més tard en l'arrencada, aplicades per live-config. Qualsevol opció durant l'arrencada pot ser modificada per l'usuari, especificant-la a l'indicador d'arrencada. La imatge també pot ser construïda amb els paràmetres d'arrencada per defecte perquè els usuaris puguin simplement arrencar el sistema en viu sense especificar cap altra opció, ja que tots els valors per defecte són adequats. En particular, l'argument lb --bootappend-live consta de les opcions de línia d'ordres per defecte del nucli per al sistema en viu, com ara la persistència, la distribució del teclat o la zona horària. Veure Personalització de l'entorn local i el llenguatge, per exemple. 359 Les opcions de configuració durant la construcció es descriuen a la pàgina del manual de lb config. Les opcions durant l'arrencada es descriuen a les pàgines del manual de live-boot i live-config. Malgrat que els paquets live-boot i live-config s'instal·len en el sistema en viu que s'està construint, é s recomana instal·lar-los en el sistema de construcció per a tenir una referència fàcil quan s'està treballant en la configuració. É s segur fer-ho, ja que cap dels scripts continguts en ells s'executen a menys que el sistema s'hagi configurat com a sistema viu. 360 7.2 Etapes de la construcció 361 El procés de construcció es divideix en etapes, amb personalitzacions diferentes aplicades successivament en cada una. La primera etapa que s'executa es la fase bootstrap. Aquesta é s la fase inicial de poblar el directori chroot amb paquets per a fer un sistema Debian bàsic. Això é s seguit per l'etapa chroot, que completa la construcció del directori chroot, omplint-lo amb tots els paquets que s'indiquen en la configuració, juntament amb qualsevol altre material. La majoria de personalitzacions dels continguts es produeixen en aquesta etapa. L'etapa final de preparació de la imatge en viu é s l'etapa binary, quan es construeix una imatge capaç d'arrencar, amb el contingut del directori chroot per a construir el sistema de fitxers arrel per al sistema en viu, i que inclou el programa de instal·lació i qualsevol altre material addicional en el medi de destinació fora del sistema de fitxers del sistema en viu. Després de construir la imatge en viu, si està habilitat, s'inclou el codi font original a l'etapa source. 362 Dins de cadascuna d'aquestes etapes, hi ha una seqý&#232;ncia particular en la qual s'apliquen les ordres. Això es fa de manera que es garanteixi que les personalitzacions es poden superposar de manera raonable. Per exemple, dins l'etapa chroot, les preconfiguracions (preseeds) s'apliquen abans que s'instal·lin els paquets, els paquets s'instal·len abans que es copiïn els fitxers locals, i els ganxos s'executen més tard, després que tots els materials estiguin al seu lloc. 363 7.3 Suplementar lb config amb fitxers 364 Encara que lb config crea una configuració en esquelet al directori config/, per a aconseguir els objectius, pot ser necessari proporcionar fitxers addicionals en els subdirectoris de config/. Depenent d'on s'emmagatzemen els fitxers en la configuració, poden ser copiats en el sistema de fitxers del sistema en viu o en el sistema de fitxers de la imatge binària, o es pot proporcionar configuracions en temps de construcció del sistema que serien engorroses de passar com opcions de línia d'ordres. Es pot incloure coses com ara llistes personalitzades de paquets, art personalitzat o scripts ganxo per a ser executats ja sigui en temps de construcció o en temps d'arrencada, augmentant la flexibilitat ja considerable de debian-live amb codi propi. 365 7.4 Tasques de personalització 366 Els segýents capítols s'organitzen pel tipus de tasques de personalització que els usuaris solen realitzar: Personalització de la instal·lació de paquets, Personalització dels continguts i Personalització de l'entorn local i el llenguatge cobreixen només algunes de les coses que es poden fer. 367 Personalització de la instal·lació de paquets 368 8. Personalització de la instal·lació de paquets 369 La personalització més bàsica d'un sistema en viu pot ser la selecció dels paquets que seran inclosos en la imatge. Aquest capítol explica les diverses opcions de live-build per a personalitzar la instal·lació de paquets durant la construcció. Les opcions més importants que influeixen en els paquets que estan disponibles per a ser instal·lats en la imatge són les à rees de distribució i el arxiu. Per a garantir velocitats de descàrrega decents, s'ha de triar un mirall de distribució proper. També es pot incloure repositoris de backports, paquets experimentals o personalitzats, o incloure paquets directament com si fossin fitxers. Es poden definir llistes de paquets, incloent-hi els metapaquets que instal·laran diversos paquets relacionats alhora, com ara paquets per a un ordinador d'escriptori o un llenguatge en particular. Finalment, una sèrie d'opcions donen un cert control sobre apt o si es prefereix aptitude, quan s'instal·len els paquets durant la construcció. Això pot ser û til si s'utilitza un proxy, es vol desactivar la instal·lació de paquets recomanats per a estalviar espai, o hi ha la necessitat de controlar quines versions dels paquets s'instal·len mitjançant la tècnica pinning d'APT, per nomenar algunes possibilitats. 370 8.1 Fonts dels paquets 371 8.1.1 Distribució, à rees d'arxiu i mode 372 La distribució que es tria té una gran importància en els paquets que estan disponibles per a incloure en una imatge en viu. Només cal especificar el nom en clau, que per defecte é s buster per a la versió buster de live-build. Qualsevol distribució disponible a l'arxiu pot ser especificada pel seu nom en clau aquí. (Veure Termes per a més detalls.) L'opció --distribution no només influeix en l'origen dels paquets dins l'arxiu, sinó que també instrueix a live-build per a comportar-se segons sigui necessari per a construir cada distribució suportada. Per exemple, per a construir la distribució unstable, sid, s'ha d'especificar: 373 374 $ lb config --distribution sid
A l'arxiu de la distribució, les à rees són les divisions principals de l'arxiu. A Debian, es tracta de main, contrib i non-free. Només main conté el programari que é s part de la distribució Debian, per tant é s el valor per defecte. Es poden especificar un o més valors, per exemple: 375 376 $ lb config --archive-areas "main contrib non-free"
É s dona suport experimental a alguns derivats de Debian a través de l'opció --mode. Per defecte, aquesta opció é s debian però només si s'està construint en un sistema Debian o en un sistema desconegut. Si s'especifica amb lb config que es vol construir un dels derivats suportats alehores es modificaran les opcions per a crear aquest derivat. Si per exemple s'utilitza lb config amb el mode ubuntu, s'utilitzarà el nom de la distribució i les à rees dels arxius del derivat especificat en lloc dels de Debian. El « mode» també modifica el comportament de live-build per a adaptar-lo als derivats. 377 Nota: Els projectes per als quals s'han afegit aquests modes són els principals responsables de donar suport als usuaris d'aquestes opcions. El Live Systems Project, al seu torn, dona suport de desenvolupament només sobre una base de millor esforç, basada en les informacions proporcionades pels projectes derivats ja que nosaltres no desenvolupem ni donem suport a aquests derivats. 378 8.1.2 Miralls de distribució 379 L'arxiu de Debian es replica a través d'una à mplia xarxa de miralls a tot el món perquè la gent de cada regió pugui triar un mirall proper amb la millor velocitat de descàrrega. Cadascuna de les opcions --mirror-* governa quin mirall de distribució s'utilitzarà en les diverses etapes de la construcció. Recordar de Etapes de la construcció que l'etapa bootstrap es quan el chroot s'omple inicialment per debootstrap amb un sistema mínim i l'etapa chroot é s quan s'utilitza el chroot per a la construcció del sistema de fitxers del sistema en viu. D'aquesta manera, s'utilitzen els miralls corresponents per a aquestes etapes, i més tard, durant l'etapa binary s'utilitzen els valors --mirror-binary i --mirror-binary-security substituint qualsevol mirall utilitzat en una etapa anterior. 380 8.1.3 Miralls de distribució utilitzats en temps de construcció 381 Per a establir els miralls de la distrubució utilitzats en temps de construcció perquè apuntin a una rèplica local, é s suficient establir --mirror-bootstrap i --mirror-chroot-security de la manera segýent. 382 383 $ lb config --mirror-bootstrap http://localhost/debian/ \
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;--mirror-chroot-security http://localhost/debian-security/
El mirall per al chroot, especificat per l'opció --mirror-chroot, per defecte pren el mateix valor que --mirror-bootstrap 384 8.1.4 Miralls de distribució utilitzats en temps d'execució 385 Les opcions --mirror-binary* governen els miralls de distribució que acaben a la imatge binària. Aquestes poden ser utilitzades per a instal·lar paquets addicionals mentre s'executa el sistema en viu. Els valors per defecte fan servir http.debian.net, un servei que tria un mirall geogràficament a prop en funció, entre altres coses, de la familia de la IP de l'usuari i de la disponibilitat del mirall. Aquesta é s una opció adequada quan no es pot predir quin serà el millor mirall per a tots els usuaris. O es pot especificar els valors propis com es mostra en l'exemple segýent. Una imatge construïda a partir d'aquesta configuració només seria convenient per als usuaris en una xarxa on "mirror" é s abastable. 386 387 $ lb config --mirror-binary http://mirror/debian/ \
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;--mirror-binary-security http://mirror/debian-security/ \
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;--mirror-binary-backports http://mirror/debian-backports/
8.1.5 Repositoris addicionals 388 É s possible afegir més repositoris, ampliant les opcions de paquets més enllà dels disponibles en la pròpia distribució de destinació. Aquests poden ser, per exemple, per a backports, experimentals o paquets personalitzats. Per a configurar repositoris addicionals, crear els fitxers config/archives/your-repository.list.chroot, i/o config/archives/your-repository.list.binary. Igual que amb les opcions --mirror-* aquest regeix els repositoris utilitzats en l'étapa chroot durant la construcció de la imatge, i a l'étapa binary, é s a dir, per a ser utilitzades quan s'executa el sistema en viu. 389 Per exemple, config/archives/live.list.chroot permet instal·lar paquets des del repositori d'instantànies de debian-live en el moment de construcció del sistema viu. 390 391 deb http://live-systems.org/ sid-snapshots main contrib non-free
Si s'afegeix la mateixa línia a config/archives/live.list.binary, el repositori sera afegit al directori /etc/apt/sources.list.d/ del sistema viu. 392 Si aquests fitxers existeixen, són utilitzats de forma automàtica. 393 També s'ha de posar la clau GPG utilitzada per a signar el repositori en fitxers config/archives/your-repository.key.{binary,chroot}. 394 En cas de necessitar un APT pinning personalitzat, es poden col·locar les preferències APT en fitxers config/archives/your-repository.pref.{binary,chroot}, que seran afegits automàticament al sistema en viu al directori /etc/apt/preferences.d/. 395 8.2 Selecció dels paquets a instal·lar 396 Hi ha una sèrie de formes de triar els paquets que live-build instal·larà en la imatge, que abasta una varietat de necessitats diferents. Es pot simplement anomenar paquets individualment per a instal·lar en una llista de paquets. També es pot optar per utilitzar metapaquets a les llistes, o seleccionar-los utilitzant camps de control de fitxers de paquets. I, finalment, es poden copiar paquets com si fossin fitxers dins del arbre config/, que é s un mètode que s'adapta perfectament a fer proves amb paquets nous o experimentals abans de afegirlos a un repositori. 397 8.2.1 Llistes de paquets 398 Les llistes de paquets són una forma eficaç d'expressar quins paquets han de ser instal·lats. La sintaxi de la llista suporta seccions condicionals que fa que sigui fàcil construir llistes i adaptar-les per al propi û s en mûltiples configuracions. Els noms dels paquets també poden ser injectats a la llista amb ajudants de l'intèrpret d'ordres en temps de construcció. 399 Nota: El comportament de live-build a l'hora d'especificar un paquet que no existeix està determinat per la elecció que es faci de l'eina APT. Veure Elegir apt or aptitude per a més detalls. 400 8.2.2 Ú s dels metapaquets 401 La forma més senzilla per a omplir la llista de paquets é s utilitzar una tasca metapaquet mantinguda per una distribució. Per exemple: 402 403 $ lb config
   $ echo task-gnome-desktop > config/package-lists/desktop.list.chroot
Això reemplaça l'antic mètode de llistes predefinides de live-build 2.x. A diferència de les llistes predefinides, els metapaquets no són específics del projecte Live Systems. Per contra, són mantinguts per grups d'especialistes que treballen dins la distribució i per tant, reflecteixen el consens de cada grup sobre els paquets que serviran millor a les necessitats dels usuaris. A més, abasten una gamma molt més à mplia de casos d'ûs que les llistes predefinides que substitueixen. 404 Tots els metapaquets tenen el prefix task-, de manera que una forma ràpida de determinar quins estan disponibles (encara que pot contenir un grapat d'entrades falses que coincideixin amb el nom, però que no són metapaquets) é s fer coincidir el nom del paquet amb: 405 406 $ apt-cache search --names-only ^task-
A més d'aquests, es troben altres metapaquets amb diverses finalitats. Alguns són subconjunts de paquets de tasques més à mplies, com gnome-core, mentre que altres són parts individuals especialitzades de un Debian Pure Blend, com els metapaquets education-*. Per a obtenir una llista de tots els metapaquets que hi ha a l'arxiu, instal·lar el paquet debtags i llistar tots els paquets amb l'etiqueta role::metapackage de la segýent manera: 407 408 $ debtags search role::metapackage
8.2.3 Llistes locals de paquets 409 Ja sigui afegint metapaquets a una llista, paquets individuals, o una combinació d'ambdós, totes les llistes de paquets locals s'emmagatzemen a config/package-lists/. Es pot utilitzar més d'una llista i això es presta molt bé als dissenys modulars. Per exemple, es pot decidir dedicar una llista a una elecció particular d'escriptori, l'altra a una col·lecció de paquets relacionats que puguin ser fàcilment utilitzats al damunt d'un escriptori diferent. Això permet experimentar amb diferents combinacions de conjunts de paquets amb un mínim d'esforç, intercanviant llistes comunes entre els diferents projectes d'imatges en viu. 410 Les llistes de paquets que es troben en aquest directori han de tenir el sufix .list per a ser processades, i a més a més un sufix d'etapa adicional .chroot o .binary per a indicar per a quina etapa é s la llista. 411 Nota: Si no s'especifica el sufix d'etapa, la llista s'utilitzarà per a ambdues etapes. Normalment, s'especifica .list.chroot de manera que els paquets només s'instal·laran al sistema de fitxers en viu i no hi haura una còpia extra del .deb en el medi. 412 8.2.4 Llistes locals de paquets per a l'etapa binary 413 Per a crear una llista per a l'etapa binary, crear un fitxer amb el sufix .list.binary a config/package-lists/. Aquests paquets no s'instal·len al sistema de fitxers en viu però s'inclouen en el medi en viu al directori pool/. Un û s típic d'aquesta llista seria amb una de les variants del instal·lador non-live. Com s'ha esmentat anteriorment, si es vol que aquesta llista sigui la mateixa que la llista de l'etapa chroot, simplement utilitzar el sufix .list. 414 8.2.5 Generar llistes de paquets 415 De vegades passa que la millor manera de crear una llista é s generar-la amb un script. Qualsevol línia que comença amb un signe d'exclamació indica una ordre que s'executarà dins del chroot quan la imatge es construeix. Per exemple, es podria incloure la línia ! grep-aptavail -n -sPackage -FPriority standard | sort en una llista de paquets per a produir una llista ordenada de paquets disponibles amb Priority: standard. 416 De fet, la selecció de paquets amb l'ordre grep-aptavail (del paquet dctrl-tools) é s tan û til que live-build proporciona un script Packages d'ajuda per motius de comoditat. Aquest script accepta dos arguments: field i pattern. Per tant, es pot crear una llista amb els segýents continguts: 417 418 $ lb config
   $ echo '! Packages Priority standard' > config/package-lists/standard.list.chroot
8.2.6 Ú s de condicionals dins de les llistes de paquets 419 Qualsevol de les variables de configuració de live-build emmagatzemades a config/* (menys el prefix LB_) poden ser utilitzades en sentències condicionals en les llistes de paquets. En general, això significa qualsevol opció lb config en lletres majuscules i amb guions canviats a guions baixos. Però a la pràctica, només tenen sentit les que influeixen en la selecció de paquets, com ara DISTRIBUTION, ARCHITECTURES o ARCHIVE_AREAS. 420 Per exemple, per a instal·lar ia32-libs si s'especifica --architectures amd64: 421 422 #if ARCHITECTURES amd64
   ia32-libs
   #endif
É s possible fer un test d'un nombre de valors, per exemple per a instal·lar memtest86+ si s'especifica --architectures i386 o --architectures amd64: 423 424 #if ARCHITECTURES i386 amd64
   memtest86+
   #endif
També es pot provar amb variables que poden contenir més d'un valor, per exemple, per a instal·lar vrms si s'especifica o contrib o non-free a través de l'opció --archive-areas: 425 426 #if ARCHIVE_AREAS contrib non-free
   vrms
   #endif
No é s possible el anidament dels condicionals. 427 8.2.7 Eliminar paquets durant la instal·lació 428 Es pot crear llistes de paquets en fitxers amb els sufixos .list.chroot_live i .list.chroot_install dins del directori config/package-lists. Si hi ha una llista « live» i una llista « install» els paquets de la llista .list.chroot_live s'eliminaran amb un script ganxo després de la instal·lació (si l'usuari utilitza l'instal·lador). Els paquets de la llista .list.chroot_install seran presents tant en el sistema en viu com en el sistema instal·lat. Aquest é s un cas especial per al programa d'instal·lació i pot ser û til si es té --debian-installer live establert en la configuració i es desitja eliminar paquets específics del sistema en viu durant la instal·lació. 429 8.2.8 Tasques d'escriptori i llenguatge 430 Les tasques d'escriptori i el llenguatge són casos especials que necessiten una mica de planificació i configuració extra. Les imatges en viu són diferentes de les imatges de l'instal·lador de Debian en aquest sentit. A l'instal·lador de Debian, si el medi es va preparar per a obtenir un tipus d'entorn d'escriptori en particular, la tasca corresponent s'instal·larà automàticament. Per tant hi ha tasques internes gnome-desktop, kde-desktop, lxde-desktop i xfce-desktop, cap de les quals s'ofereixen al menû de tasksel. De la mateixa manera, no hi ha cap entrada de menû per a tasques de llengýes, però l'elecció del idioma de l'usuari durant la instal·lació influeix en la selecció de les tasques de les llengýes corresponents. 431 En el desenvolupament d'una imatge en viu d'escriptori, la imatge sol arrencar directament a un escriptori de treball, les opcions d'escriptori i de llengua han estat fetes en temps de construcció, no en temps d'execució com en el cas del instal·lador de Debian. Això no vol dir que una imatge en viu no es pugui construir per a donar suport a diversos equips d'escriptori o diversos idiomes i oferir a l'usuari una opció, però això no é s el comportament de live-build per defecte. 432 Com que no hi ha cap ajust automàtic per a les tasques de llengua que incloguin coses com ara tipus de lletres específics per a una llengua o paquets de mètode d'entrada, si es vol, cal especificar-ho en la configuració. Per exemple, una imatge d'escriptori GNOME que contingui suport per al alemany podrie incloure les segýents tasques metapaquets: 433 434 $ lb config
   $ echo "task-gnome-desktop task-laptop" > > config/package-lists/my.list.chroot
   $ echo "task-german task-german-desktop task-german-gnome-desktop" > > config/package-lists/my.list.chroot
8.2.9 Tipus i versió del nucli 435 Depenent de l'arquitectura, s'inclouran per defecte en la imatge un o més tipus de nuclis. Es pot triar diferents tipus a través de l'opció --linux-flavours. Cada tipus té un sufix per a l'arrel per defecte linux-image per a formar el nom de cada metapaquet que al seu torn depèn d'un paquet del nucli exacte que s'ha d'incloure en la imatge. 436 Així, per defecte, una imatge per a l'arquitectura amd64 inclourà el metapaquet linux-image-amd64 i una imatge per a l'arquitectura i386 inclourà el metapaquet linux-image-586. 437 Quan hi ha més d'una versió del paquet del nucli disponible en els arxius configurats, es pot especificar el nom d'un paquet del nucli amb l'opció --linux-packages. Per exemple, suposem que s'està construint una imatge d'arquitectura amd64 i es vol afegir l'arxiu experimental amb propòsits de fer proves. Perquè es pugui instal·lar el nucli linux-image-3.18.0-trunk-amd64 es podria configurar la imatge de la segýent manera: 438 439 $ lb config --linux-packages linux-image-3.18.0-trunk
   $ echo "deb http://ftp.debian.org/debian/ experimental main" > config/archives/experimental.list.chroot
8.2.10 Nuclis personalitzats 440 Es pot construir i incloure nuclis propis personalitzats, sempre que s'integrin en el sistema de gestió de paquets de Debian. El sistema de live-build no é s compatible amb nuclis no construïts com paquets .deb. 441 La manera apropiada i recomanable d'implementar els propis paquets del nucli é s seguir les instruccions del kernel-handbook. Recordar que s'ha de modificar l'ABI i els sufixos del tipus apropiadament, i a continuació, incloure un conjunt complet dels packets que corresponen amb linux i linux-latest al repositori. 442 Si s'opta per construir els paquets del nucli sense els metapaquets a joc, cal especificar una arrel --linux-packages apropiada com s'indica a Tipus i versió del nucli. Com expliquem a Instal·lació de paquets modificats o de tercers, é s millor si s'inclouen els paquets del nucli personalitzat en un repositori propi, tot i que les alternatives discutides en aquella secció també funcionen. 443 Està més enllà de l'abast d'aquest document donar consells sobre com personalitzar un nucli. No obstant això, cal, almenys, assegurar-se que la configuració compleix els segýents requisits mínims: 444 Utilitzar una ramdisk inicial. 445 Incloure el mòdul d'unió del sistema de fitxers (normalment aufs). 446 Incloure tots els mòduls del sistema d'arxius requerits per la configuració (normalment squashfs). 447 8.3 Instal·lació de paquets modificats o de tercers 448 Si bé està en contra de la filosofia d'un sistema en viu, de vegades pot ser necessària la construcció d'un sistema amb versions modificades dels paquets que es troben al arxiu de Debian. Pot ser per a modificar o donar suport a funcions addicionals, les llengýes o les marques, o fins i tot per a eliminar elements dels paquets existents que són indesitjables. De la mateixa manera, es poden utilitzar paquets de tercers per a afegir alguna funcionalitat personalitzada i/o propietària. 449 Aquesta secció no cobreix l'assessorament en matèria de construcció o manteniment de paquets modificats. Però el métode de Joachim Breitner's 'How to fork privately' a <http://www.joachim-breitner.de/blog/archives/282-How-to-fork-privately.html> pot ser d'interès. La creació de paquets personalitzats es tracta a Debian New Maintainers' Guide at <https://www.debian.org/doc/maint-guide/> i en altres llocs. 450 Hi ha dues formes d'instal·lar paquets personalitzats modificats: 451 packages.chroot 452 L'ûs d'un repositori APT personalitzat 453 Utilitzar packages.chroot é s més fàcil d'aconseguir i û til per a personalitzacions "ràpides", però té una sèrie d'inconvenients, mentre que l'ûs d'un repositori APT personalitzat é s més costós en la quantitat de temps necessari per a posar-lo en marxa. 454 8.3.1 Fer servir packages.chroot per a instaŀar paquets personalitzats 455 Per a instaŀar un paquet personalitzat, només s'ha de copiar al directori config/packages.chroot/. Els paquets que es troben dins d'aquest directori s'instal·laran automàticament en el sistema en viu durant la construcció - no cal especificar res més en cap altre lloc. 456 Els paquets han de ser nomenats en la forma prescrita. Una manera simple de fer això é s utilitzar dpkg-name. 457 Utilitzar packages.chroot per a la instal·lació de paquets personalitzats té els seus desavantatges: 458 No é s possible utilitzar APT segur. 459 Cal posar tots els paquets apropiats al directori config/packages.chroot/. 460 No es adient per a l'emmagatzematge de configuracions de sistemes en viu en el control de revisió. 461 8.3.2 Fer servir un repositori APT per a instal·lar paquets personalitzats 462 A diferència de packages.chroot, quan s'utilitza un repositori APT personalitzat s'ha d'assegurar que s'especifiquen els paquets en un altre lloc. Veure Selecció dels paquets a instal·lar per a més detalls. 463 Si bé crear un repositori APT per a instal·lar paquets personalitzats pot semblar un esforç innecessari, la infraestructura pot ser fàcilment reutilitzada en una data posterior per a oferir actualitzacions dels paquets modificats. 464 8.3.3 Paquets personalitzats i APT 465 live-build utilitza APT per a instal·lar tots els paquets al sistema en viu, per tant, heretarà els comportaments d'aquest programa. Un exemple rellevant é s que (assumint una configuració per defecte) si es dóna el cas que un paquet està disponible en dos repositoris diferents, amb diferents nûmeros de versió, APT triarà per a instal·lar el paquet amb la versió més alta. 466 A causa d'això, s'aconsella augmentar el nombre de la versió dels paquets personalitzats als fixers debian/changelog per a assegurar-se que la versió modificada é s la que s'instal·la en lloc d'una dels repositoris oficials de Debian. Això també es pot aconseguir mitjançant l'alteració de les preferències d'APT del sistema en viu - veure APT pinning per a més informació. 467 8.4 Configurar APT en temps de construcció 468 Es pot configurar APT a través d'una sèrie d'opcions que només s'apliquen en temps de construcció. (La configuració d'APT al sistema en funcionament en viu es pot fer de forma normal per als continguts del sistema en viu, é s a dir, mitjançant la inclusió de les configuracions adequades a través de config/includes.chroot/.) Per a obtenir una llista completa, buscar les opcions que comencen amb apt a la pàgina del manual de lb_config. 469 8.4.1 Elegir apt o aptitude 470 Es pot optar per utilitzar apt o aptitude a l'hora d'instal·lar paquets en temps de construcció. Quina utilitat s'usa es configura gràcies al argument --apt de lb config. Escollir el mètode d'implementació per al comportament preferit durant la instal·lació de paquets, la diferència notable é s la forma en que es manegen els paquets que falten. 471 apt: Amb aquest mètode, si un paquet que s'especifica falta, l'instal·lació de paquets fallarà. Aquesta é s la configuració per defecte. 472 aptitude: Amb aquest mètode, si s'especifica un paquet que falta, l'instal·lació de paquets tindrà è xit. 473 8.4.2 L'ûs d'un proxy amb APT 474 Una configuració típica d'APT é s per a fer front a la construcció d'una imatge darrere d'un proxy. Es pot especificar el proxy per a APT amb les opcions --apt-ftp-proxy o --apt-http-proxy segons sigui necessari, per exemple, 475 476 $ lb config --apt-http-proxy http://proxy/
8.4.3 Afinar APT per a estalviar espai 477 Pot ser necessari estalviar espai en el medi destinat a la imatge, en aquest cas una o altra o ambdós de les segýentes opcions poden ser d'interès. 478 Si no es vol incloure els í ndexs d'APT en la imatge, es poden omitir amb: 479 480 $ lb config --apt-indices false
Això no influirà en les entrades de /etc/apt/sources.list, sinó simplement si /var/lib/apt conté els fitxers dels í ndexs o no. El desavantatge é s que APT necessita aquests í ndexs per tal d'operar en el sistema en viu, així que abans d'executar per exemple apt-cache search o apt-get install, l'usuari primer ha fer un apt-get update per a crear aquests í ndexs. 481 Si es considera que la instal·lació de tots els paquets recomanats infla massa la imatge, sempre que s'estigui preparat per a fer front a les conseqý&#232;ncies que s'analitzen a continuació, es pot desactivar aquesta opció per defecte d'APT amb: 482 483 $ lb config --apt-recommends false
La conseqý&#232;ncia més important de desactivar els « recommends» é s que live-boot i live-config recomanen alguns paquets que proporcionen una funcionalitat important utilitzada per la majoria de configuracions Live, com per exemple user-setup recomanat per live-config i que s'utilitza per a crear l'usuari en viu. En tots menys en els casos més excepcionals es necessita tornar a afexir almenys alguns dels recommends a les llistes de paquets o en cas contrari la imatge no funcionarà com s'espera, si é s que funciona. Mirar els paquets recomanats per a cada un dels paquets inclosos en la construcció i si no s'està segur que es poden ometre, tornar a afegir-los a les llistes de paquets. 484 La conseqý&#232;ncia més general aquí é s que si no s'instal·len els paquets recomanats per un paquet determinat, é s a dir, "els paquets que es troben junts amb aquest en totes les instal·lacions a menys que siguin inusuals" (Debian Policy Manual, secció 7.2), alguns paquets que en realitat són necessaris per als usuaris del sistema Live poden ser omesos. Per tant, suggerim revisar la diferència que desactivar els paquets recomanats té en la llista de paquets (veure el fitxer binary.packages generat per lb build) i tornar a incloure a la llista els paquets que falten que haurien de ser instal·lats. Si només es vol deixar de banda un petit nombre de paquets recomanats, es pot deixar els « recommends» activats i establir una prioritat pin d'APT negativa en els paquets seleccionats per a impedir la seva instal·lació, com s'explica a APT pinning. 485 8.4.4 Passar opcions per a apt o aptitude 486 Si no hi ha cap opció lb config per a modificar el comportament d'APT de la manera què es necessita, es pot utilitzar --apt-options o --aptitude-options per a passar opcions a l'eina APT configurada. Consultar les pàgines dels manual apt i aptitude per a més detalls. Tenir en compte que ambdues opcions tenen valors per defecte que s'hauran de mantenir, a més de les opcions que es proporcionen. Així, per exemple, suposant que s'ha inclòs algun paquet de snapshot.debian.org per a fer proves i es vol especificar Acquire::Check-Valid-Until=false perquè APT no es queixe de que el fitxer Release ja ha caducat es podria fer com en el exemple segýent, afegint la nova opció després del valor per defecte --yes: 487 488 $ lb config --apt-options "--yes -oAcquire::Check-Valid-Until=false"
Consultar les págines del manual per a entendre completament aquestes opcions i quan utilitzar-les. Això é s només un exemple i no s'ha d'interpretar com un consell per a configurar la imatge. Aquesta opció no seria adequada, per exemple, per a una versió final d'una imatge en viu. 489 Per a configuracions més complicades que impliquen opcions apt.conf pot ser adequat crear un fitxer config/apt/apt.conf. Consultar també les altres opcions apt-* per a tenir algunes dreceres convenients per a les opcions que es necessiten amb freqý&#232;ncia. 490 8.4.5 APT pinning 491 Com a referència, llegir primer la pàgina del manual apt_preferences(5). Es pot configurar APT pinning durant la construcció, o bé durant l'execució. En el primer cas, crear config/archives/*.pref, config/archives/*.pref.chroot, i config/apt/preferences. Per al segon cas, crear config/includes.chroot/etc/apt/preferences. 492 Suposem que s'està construint un sistema en viu buster però es necessita que tots els paquets « live-» que acaben dins de la imatge binària s'instal·lin desde sid en temps de construcció. Cal afegir sid a les fonts d'APT i fer un pin dels paquets live amb una prioritat més alta, però tots els altres paquets amb una prioritat més baixa que la prioritat per defecte de manera que només els paquets que es vol s'instal·lin desde sid en el moment de la construcció i tots els altres es prenguin de la distribució de destinació, buster. Això es pot aconseguir de la manera segýent: 493 494 $ echo "deb http://mirror/debian/ sid main" > config/archives/sid.list.chroot
   $ cat > > config/archives/sid.pref.chroot < < EOF
   Package: live-*
   Pin: release n=sid
   Pin-Priority: 600
&lt;br />   Package: *
   Pin: release n=sid
   Pin-Priority: 1
   EOF
Una prioritat pin negativa evitarà que un paquet s'instal·li, com en el cas que no es vulgui un paquet que é s recomanat per un altre paquet. Suposem que s'està construint una imatge LXDE afegint task-lxde-desktop a config/package-lists/desktop.list.chroot però no es desitja que al usuari se li demani que guardi les contrasenyes wifi al keyring. Aquesta llista depèn de lxde-core, que recomana gksu, que al seu torn recomana gnome-keyring. Si es vol omitir el paquet recomanat gnome-keyring, es pot fer mitjançant l'addició de les segýents línies a config/apt/preferences: 495 496 Package: gnome-keyring
   Pin: version *
   Pin-Priority: -1
Personalització dels continguts 497 9. Personalització dels continguts 498 Aquest capítol tracta d'afinar la personalització dels continguts del sistema en viu més enllà de simplement triar els paquets que es desitja incloure. Els « includes» permeten afegir o reemplaçar fitxers arbitraris en la imatge en viu, els scripts ganxo (hooks) permeten executar ordres arbitràries en diferents etapes de la construcció i en el moment d'arrencar, i la preconfiguració (preseeding) permet configurar els paquets quan s'instal·len proporcionant respostes a les preguntes de debconf . 499 9.1 Includes 500 Tot i que l'ideal seria un sistema en viu que inclogués només fitxers proporcionats per paquets Debian sense modificació, de vegades é s convenient proporcionar o modificar part del contingut a través de fitxers. Amb els includes, é s possible afegir (o substituir) fitxers arbitraris en la imatge en viu. live-build ofereix dos mecanismes per al seu û s: 501 Chroot local includes: Aquests permeten afegir o substituir fitxers dintre de chroot/Live en el sistema de fitxers. Consultar Live/chroot local includes per a més informació. 502 Binary local includes: Aquests permeten afegir o substituir fitxers dins la imatge binària. Consultar Binary local includes per a més informació. 503 Consultar Termes per a més informació sobre la distinció entre les imatges "Live" and "binary". 504 9.1.1 Live/chroot local includes 505 Es poden utilitzar els chroot local includes per a afegir o reemplaçar fitxers en el sistema de fitxers chroot/Live perquè puguin ser utilitzats en el sistema en viu. Un û s típic é s per a omplir l'esquelet del directori de l'usuari (/etc/skel) utilitzat pel sistema en viu per a crear el directori home de l'usuari en viu. Un altre é s el de subministrar fitxers de configuració que poden ser simplement afegits o reemplaçats en la imatge sense processar; veureLive/chroot local hooks si es necessita processar-los. 506 Per a incloure fitxers, només s'han d'afegir al directori config/includes.chroot. Aquest directori es correspon amb el directori arrel / del sistema en viu. Per exemple, per a afegir un fitxer /var/www/index.html en el sistema en viu, fer: 507 508 $ mkdir -p config/includes.chroot/var/www
   $ cp /path/to/my/index.html config/includes.chroot/var/www
La configuració tindrà llavors l'estructura segýent: 509 510 -- config
    &#160;&#160;&#160;[...]
    &#160;&#160;&#160;&#160;|-- includes.chroot
    &#160;&#160;&#160;&#160;| &#160;&#160;`-- var
    &#160;&#160;&#160;&#160;| &#160;&#160;&#160;&#160;&#160;&#160;`-- www
    &#160;&#160;&#160;&#160;| &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;`-- index.html
    &#160;&#160;&#160;[...]
Els chroot local includes s'instal·len després de la instal·lació del paquets de tal manera que es sobreescriuen els fitxers instal·lats pels paquets. 511 9.1.2 Binary local includes 512 Per a incloure material com documentació o vídeos en el sistema de fitxers del medi en viu de manera que sigui accessible immediatament després de la inserció del medi sense haver de arrencar el sistema en viu, es pot utilitzar els binary local includes. Això funciona de manera similar als chroot local includes. Per exemple, si els fitxers ~/video_demo.* són vídeos de demostració del sistema en viu descrits i lligats per una pàgina d'índex HTML. Només cal copiar el material a config/includes.binary/ de la segýent manera: 513 514 $ cp ~/video_demo.* config/includes.binary/
Aquests fitxers apareixeran ara en el directori arrel del medi en viu. 515 9.2 Scripts ganxo (Hooks) 516 Els scripts ganxo permeten executar ordres en les etapes de la construcció chroot i binary per tal de personalitzar la imatge. 517 9.2.1 Live/chroot local hooks 518 Per a executar ordres durant l'etapa chroot, crear un script ganxo que contingui les ordres amb el sufix .hook.chroot i afegir-lo al directori config/hooks/. El ganxo s'executarà en el chroot després que la resta de la configuració del chroot s'hagi aplicat, assegurar-se que la configuració inclou tots els paquets i els fitxers que el ganxo necessita per funcionar. Veure els scripts chroot d'exemple per a diverses tasques comunes de personalització que es poden trovar a /usr/share/doc/live-build/examples/hooks que es poden copiar o fer un enllaç simbòlic per a utilitzar-los en la pròpia configuració. 519 9.2.2 Scripts ganxo durant l'arrencada 520 Per a executar ordres durant l'arrencada, es pot proporcionar scripts ganxo per a live-config com s'explica a la secció "Personalització" de la seva pàgina del manual. Es poden afegir els ganxos de live-config a /lib/live/config/, tenint en compte la seqý&#232;ncia dels nûmeros. A continuació, afegir el script ganxo propi amb un nûmero de seqý&#232;ncia apropiat com a prefix, ja sigui com a un chroot local include a config/includes.chroot/lib/live/config/, o com un paquet personalitzat com es va discutir a Instal·lació de paquets modificats o de tercers. 521 9.2.3 Binary local hooks 522 Per a executar ordres durant l'etapa binary, crear un script ganxo que contingui les ordres amb un sufix .hook.binary i afegir-lo al directori config/hooks/. El ganxo s'executarà després que s'executin totes les ordres de l'etapa binary però abans dels binary_checksums, la darrera ordre de l'etapa binary. Les ordres del ganxo no s'executen al chroot, per tant tenir cura de no modificar cap fitxer de fora del arbre de construcció, o es pot fer malbé el sistema de construcció! Veure els scripts ganxo binary d'exemple per a diverses tasques comunes de personalització a /usr/share/doc/live-build/examples/hooks que es poden copiar o fer un enllaç simbòlic per a utilitzar-los en la pròpia configuració. 523 9.3 Preconfiguració de les preguntes de Debconf 524 Els fitxers del directory config/preseed/ amb el sufix .cfg seguits del sufix de l'etapa (.chroot o .binary) son considerats fitxers de preconfiguració de debconf i són instal·lats per live-build utilitzant debconf-set-selections durant l'etapa corresponent. 525 Per a més informació sobre debconf, veure debconf(7) del paquet debconf. 526 Personalització dels comportaments en temps d'execució 527 10. Personalització dels comportaments en temps d'execució 528 Tota la configuració que es fa durant l'execució es feta per live-config. Aquestes són algunes de les opcions més comunes de live-config en que els usuaris estan interessats. Una llista completa de totes les possibilitats es poden trobar a la pàgina del manual de live-config. 529 10.1 Personalitzar l'usuari en viu 530 Una consideració important é s que l'usuari en viu es creat per live-boot durant l'arrencada i no per live-build en temps de construcció. Això influeix no només en on s'han de introduir els materials relacionats amb l'usuari durant la construcció, tal i com es va explicar a Live/chroot local includes, sinó també en els grups i els permisos associats amb l'usuari. 531 Es poden especificar grups addicionals als que pertanyerà l'usuari en viu mitjançant l'ûs de qualsevol de les possibilitats de configuraciò de live-config. Per exemple, per a afegir l'usuari en viu al grup fuse, es pot afegir el segýent fitxer a config/includes.chroot/etc/live/config/user-setup.conf: 532 533 LIVE_USER_DEFAULT_GROUPS="audio cdrom dip floppy video plugdev netdev powerdev scanner bluetooth fuse"
o utilitzar live-config.user-default-groups=audio,cdrom,dip,floppy,video,plugdev,netdev,powerdev,scanner,bluetooth,fuse com paràmetre d'arrencada. 534 També é s possible canviar el nom de l'usuari per defecte "user" i la contrasenya per defecte "live". Si es vol fer això per alguna raó, es pot aconseguir fàcilment de la segýent manera: 535 Per a canviar el nom de l'usuari per defecte només s'ha d'especificar en la configuració: 536 537 $ lb config --bootappend-live "boot=live components username=live-user"
Una forma possible de canviar la contrasenya per defecte é s per mitjà d'un ganxo com s'explica a Scripts ganxo durant l'arrencada. Per a fer això, es pot utilitzar el script ganxo "passwd" de /usr/share/doc/live-config/examples/hooks, posar-li un prefix adequat (per exemple 2000-passwd) i afegir-lo a config/includes.chroot/lib/live/config/ 538 10.2 Personalització de l'entorn local i el llenguatge 539 Quan el sistema en viu arrenca, el llenguatge està implicat en dos passos: 540 la generació de locales 541 establir la configuració del teclat 542 La configuració local per defecte en la construcció d'un sistema viu é s locales=en_US.UTF-8. Per a definir la locale que s'ha de generar, utilitzar el paràmetre locales de la opció --bootappend-live de lb config, per exemple. 543 544 $ lb config --bootappend-live "boot=live components locales=de_CH.UTF-8"
Es poden especificar diverses locales en una llista separada per comes. 545 Aquest paràmetre, així com els paràmetres de configuració del teclat que s'indiquen a continuació, també es pot utilitzar en la línia d'ordres del nucli. Es pot especificar una configuració regional mitjançant language_country (en aquest cas s'utilitza la codificació per defecte) o la forma completa language_country.encoding. Una llista de locales suportades i la codificació per a cadascuna es poden trobar a /usr/share/i18n/SUPPORTED. 546 live-config s'encarrega de la configuració del teclat per a X i per a la consola utilitzant el paquet console-setup. Per a la seva configuració es pot fer servir els paràmetres d'arrencada keyboard-layouts, keyboard-variants, keyboard-options i keyboard-model mitjançant l'opció --bootappend-live. Es poden trobar opcions vàlides per a aquests a /usr/share/X11/xkb/rules/base.lst. Per a trobar distribucions de teclat i variants per a un idioma determinat, s'ha d'intentar cercar el nom en anglès de la llengua i/o el país on es parla l'idioma, per exemple: 547 548 $ egrep -i '(^!|german.*switzerland)' /usr/share/X11/xkb/rules/base.lst
   ! model
   ! layout
    &#160;&#160;ch &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;German (Switzerland)
   ! variant
    &#160;&#160;legacy &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ch: German (Switzerland, legacy)
    &#160;&#160;de_nodeadkeys &#160;&#160;ch: German (Switzerland, eliminate dead keys)
    &#160;&#160;de_sundeadkeys &#160;ch: German (Switzerland, Sun dead keys)
    &#160;&#160;de_mac &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;ch: German (Switzerland, Macintosh)
   ! option
Tinir en compte que cada variant mostra la distribució que s'aplica en la descripció. 549 Sovint, només la distribució necessita ser configurada. Per exemple, per a obtenir els fitxers de configuració regional per a la distribució del teclat alemany i suís-alemany per a l'entorn gràfic X: 550 551 $ lb config --bootappend-live "boot=live components locales=de_CH.UTF-8 keyboard-layouts=ch"
No obstant això, per als casos d'ûs molt específics, potser es vol incloure altres paràmetres. Per exemple, per a establir un sistema francès, amb una distribució de teclat French-Dvorak (anomenat Bepo) en un teclat USB TypeMatrix EZ-Reach 2030, utilitzar: 552 553 $ lb config --bootappend-live \
    &#160;&#160;&#160;&#160;"boot=live components locales=fr_FR.UTF-8 keyboard-layouts=fr keyboard-variants=bepo keyboard-model=tm2030usb"
Es poden especificar diversos valors per a cada una de les opcions keyboard-* en una llista separada per comes amb l'excepció de keyboard-model, que només accepta un valor. Veure la pàgina del manual keyboard(5) per a més detalls i exemples de les variables XKBMODEL, XKBLAYOUT, XKBVARIANT i XKBOPTIONS. Si s'especifiquen diversos valors de keyboard-variants es correspondran un a un amb els valors keyboard-layouts (veure setxkbmap(1) opció -variant). Es poden utilitzar valors buits, per exemple, per a definir dos dissenys, el valor predeterminat US QWERTY i l'altre US Dvorak: 554 555 $ lb config --bootappend-live \
    &#160;&#160;&#160;&#160;"boot=live components keyboard-layouts=us,us keyboard-variants=,dvorak"
10.3 Persistència 556 Un paradigma d'un live cd é s ser un sistema pre-instal·lat, que arrenca desde medis de només lectura, com un cdrom, on les modificacions no sobreviuen als reinicis del maquinari que l'executa. 557 Un sistema en viu é s una generalització d'aquest paradigma i per tant, compatible amb altres medis, a més dels CDs, però tot i així, en el seu comportament per defecte, s'ha de considerar de només lectura i totes les evolucions en temps d'execució del sistema es perden al apagar l'equip. 558 La "Persistència" é s un nom comû per a nomenar els diferents tipus de solucions per a guardar després de reiniciar algunes, o totes, les dades d'aquesta evolució en temps d'execució del sistema. Per a entendre com funciona, seria û til saber que, encara que el sistema s'inicia i s'executa des de medis de només lectura, les modificacions als fitxers i directoris s'escriuen ens medis d'escriptura, en general un ramdisk (tmpfs) i les dades dels discos ram no sobreviuen als reinicis. 559 Les dades emmagatzemades en aquest disc ram han de ser guardades en un suport d'escriptura persistent com medis d'emmagatzematge locals, un recurs compartit de xarxa o fins i tot una sessió d'una multisessió de un CD/DVD (re)grabable. Tots aquests medis són compatibles amb el sistemes en viu de diferents maneres, i tots menys l'ûltim, requereixen un paràmetre especial que s'especifica en l'arrencada: persistence. 560 Si s'utilitza el paràmetre d'arrencada persistence (i no s'utilitza nopersistence) es proven els medis locals d'emmagatzematge (per exemple, discs durs, unitats USB) buscant volums amb persistència durant l'arrencada. É s possible restringir els tipus de volums amb persistència que s'utilitzarà mitjançant l'especificació de certs paràmetres d'arrencada que es descriuen a la pàgina del manual de live-boot(7). Un volum amb persistència é s qualsevol dels segýents: 561 una partició, identificada pel seu nom GPT. 562 un sistema de fitxers, identificat per la seva etiqueta de sistema de fitxers. 563 un fitxer imatge situat en l'arrel de qualsevol sistema de fitxers llegibles (fins i tot una partició NTFS d'un altre SO), identificat pel seu nom de fitxer. 564 L'etiqueta de volum per als overlays ha de ser persistence però serà passat per alt a menys que contingui un fitxer anomenat persistence.conf que s'utilitza per a personalitzar completament la persistència del volum, é s a dir, especificar els directoris que es volen conservar en el volum de persistència després de reiniciar. Veure El fitxer persistence.conf per a més detalls. 565 Aquests són alguns exemples de com preparar un volum que s'utilitzarà per a la persistència. Pot ser, per exemple, una partició ext4 en un disc dur o en una clau USB creat amb, per exemple: 566 567 # mkfs.ext4 -L persistence /dev/sdb1
Veure també Utilitzar l'espai lliure en una memòria USB. 568 Si ja hi ha una partició al dispositiu, é s pot canviar l'etiqueta amb un dels segýents: 569 570 # tune2fs -L persistence /dev/sdb1 # for ext2,3,4 filesystems
Heus aquí un exemple de com crear un fitxer imatge basat en ext4 per a ser utilitzat per a la persistència: 571 572 $ dd if=/dev/null of=persistence bs=1 count=0 seek=1G # for a 1GB sized image file
   $ /sbin/mkfs.ext4 -F persistence
Un cop s'ha creat el fitxer imatge, per exemple, per a fer /usr persistent però només guardant els canvis que es fan en aquest directori i no tots els continguts de /usr, es pot utilitzar l'opció "union". Si el fitxer imatge es troba en el directori home, copiar-lo a l'arrel del sistema de fitxers del disc dur i muntar-lo a /mnt de la segýent manera: 573 574 # cp persistence /
   # mount -t ext4 /persistence /mnt
A continuació, crear el fitxer persistence.conf afegint contingut i desmuntar el fitxer imatge. 575 576 # echo "/usr union" > > /mnt/persistence.conf
   # umount /mnt
Ara, reiniciar el sistema i arrencar el medi en viu amb el paràmetre d'arrencada "persistence". 577 10.3.1 El fitxer persistence.conf 578 Un volum amb l'etiqueta persistence ha de ser configurat mitjançant un fitxer persistence.conf per a fer directoris arbitraris persistents. Aquest fitxer, ubicat a l'arrel del sistema de fitxers del volum, controla els directoris que fa persistents, i de quina manera. 579 A la pàgina del manual de persistence.conf(5) s'explica en detall com es configuran els muntatges de les overlays, però un simple exemple hauria de ser suficient per a la majoria d'usos. Si es vol fer el directori home i el directori del cache d'APT persistents en un sistema de fitxers ext4 a la partició /dev/sdb1: 580 581 # mkfs.ext4 -L persistence /dev/sdb1
   # mount -t ext4 /dev/sdb1 /mnt
   # echo "/home" > > /mnt/persistence.conf
   # echo "/var/cache/apt" > > /mnt/persistence.conf
   # umount /mnt
Després es reinicia el sistema. Durant la primera arrencada els continguts de /home i /var/cache/apt es copiaran en el volum de la persistència, i d'aquí en endavant tots els canvis en aquests directoris es guardaran en aquest volum. Tenir en compte que les rutes que apareixen en el fitxer persistence.conf no poden contenir espais en blanc o els components especials . i ... A més, ni /lib, /lib/live (o qualsevol dels seus subdirectoris) ni / es poden fer persistents utilitzant muntatges personalitzats. Com a solució per a aquesta limitació es pot afegir / union al fitxer persistence.conf per a aconseguir una persistència completa. 582 10.3.2 Utilitzar diversos medis persistents 583 Hi ha diferents mètodes per utilitzar mûltiples volums de persistència per a diferents casos d'ûs. Per exemple, utilitzar diversos volums al mateix temps o seleccionar-ne només un, entre varis, per a fins molt específics. 584 Es poden utilitzar diversos volums diferents de muntatges personalitzats (amb els seus propis fitxers persistence.conf però si diversos volums fan que el mateix directori sigui persistent, només s'utilitzarà un d'ells. Si qualsevol dels dos muntatges són "imbricats" (és a dir, un é s un sub-directori de l'altre) el directori pare es muntarà abans que el directori fill per a evitar que amb el muntatge un directori no sigui ocultat per l'altre. Els muntatges personalitzats imbricats són problemàtics si estan enumerats en el mateix fitxer persistence.conf. Veure la pàgina del manual persistence.conf(5) per a saber com manejar aquest cas, si realment es necessita (una pista: en general no cal fer-ho). 585 Un possible cas d'ûs: Per a guardar les dades de l'usuari, é s a dir /home i les dades del superusuari, é s a dir /root en diferents particions, crear dues particions amb l'etiqueta persistence i afegir un fitxer persistence.conf en cadascuna d'aquesta manera # echo "/home" > persistence.conf per a la primera partició que guardarà els fitxers de l'usuari i # echo "/root" > persistence.conf per a la segona partició que emmagatzemarà els fitxers del superusuari. Finalment, utilitzar el paràmetre d'arrencada persistence. 586 Si un usuari necessita mûltiples volums de persistència del mateix tipus per a diferents ubicacions o proves, com private i work, el paràmetre d'arrencada persistence-label utilitzat juntament amb el paràmetre d'arrencada persistence permetrà tenir diversos dispositius amb la mateixa, però û nica, persistència. Un exemple seria si un usuari vol utilitzar una partició amb persistència amb l'etiqueta private per a dades personals com els marcadors d'un navegador, utilitzaria els paràmetres d'arrencada: persistence persistence-label=private. I per emmagatzemar dades relacionades amb el treball, com a documents, projectes de recerca o d'un altre tipus, utilitzaria els paràmetres d'arrencada: persistence persistence-label=work. 587 É s important recordar que aquests volums, private i work, també necessiten tenir un fitxer persistence.conf en la seva arrel. La pàgina de manual de live-boot conté més informació sobre com utilitzar aquestes etiquetes amb els noms més antics. 588 10.3.3 Persistència amb xifratge 589 Utilitzar la persistència vol dir que algunes dades sensibles poden quedar exposades a risc. Especialment si les dades persistents s'emmagatzemen en un dispositiu portàtil com una memòria USB o un disc dur extern. É s llavors quan el xifrat entra en joc. Fins i tot si el procediment pot semblar complicat a causa de la quantitat de passos que s'han de fer, é s molt fàcil manejar particions xifrades amb live-boot. Per a utilitzar luks, que é s el tipus de xifrat compatible, es necessita instal·lar cryptsetup tant en la màquina que crearà la partició xifrada com en el sistema en viu amb que es va a utilitzar la partició persistent xifrada. 590 Per a instal·lar cryptsetup a la nostra màquina: 591 592 # apt-get install cryptsetup
Per a instal·lar cryptsetup en el sistema viu, afegir-lo a una package-lists: 593 594 $ lb config
   $ echo "cryptsetup" > config/package-lists/encryption.list.chroot
Una cop tinguem el nostre sistema en viu amb cryptsetup, bàsicament, només hem de crear una nova partició, xifrar-la i arrencar amb els paràmetres persistence i persistence-encryption=luks. Podríem haver anticipat aquest pas i afegit els paràmetres d'arrencada seguint el procediment habitual: 595 596 $ lb config --bootappend-live "boot=live components persistence persistence-encryption=luks"
Anem a entrar en els detalls per a tothom que no està familiaritzat amb el xifrat. En el segýent exemple utilitzarem una partició en un dispositiu USB que correspon a /dev/sdc2. Tenir en compte que cal determinar quina partició é s la que es va a utilitzar en cada cas específic. 597 El primer pas é s connectar la memòria usb i determinar de quin dispositiu es tracta. La manera més recomanable per a llistar dispositius é s utilitzar ls -l /dev/disk/by-id. Després d'això, crear una nova partició i, a continuació, xifrar-la amb una frase de contrasenya de la segýent manera: 598 599 # cryptsetup --verify-passphrase luksFormat /dev/sdc2
A continuació, obrir la partició luks al mapeador de dispositius virtuals. Es pot utilitzar qualsevol nom que es desitgi. Aquí utilitzem live com a exemple: 600 601 # cryptsetup luksOpen /dev/sdc2 live
El segýent pas é s omplir el dispositiu amb zeros abans de crear el sistema de fitxers: 602 603 # dd if=/dev/zero of=/dev/mapper/live
Ara, estem preparats per a crear el sistema de fitxers. Noteu que estem afegint l'etiqueta persistence perquè el dispositiu es munti com a magatzem de persistència durant l'arrencada. 604 605 # mkfs.ext4 -L persistence /dev/mapper/live
Per continuar amb la nostra configuració, necessitem muntar el dispositiu, per exemple, a /mnt. 606 607 # mount /dev/mapper/live /mnt
I crear el fitxer persistence.conf a l'arrel de la partició. Això é s, com s'ha explicat abans, estrictament necessari. Veure El fitxer persistence.conf. 608 609 # echo "/ union" > /mnt/persistence.conf
Desmuntar el punt de muntatge: 610 611 # umount /mnt
I opcionalment, encara que podria ser una bona manera de protegir les dades que acabem d'agregar a la partició, podem tancar el dispositiu: 612 613 # cryptsetup luksClose live
Anem a resumir el procés. Fins ara, hem creat un sistema viu capaç de manejar xifratge, que es pot copiar a una memòria USB com s'explica a Copiar una imatge ISO híbrida en un dispositiu USB. També hem creat una partició xifrada, que es pot situar en la mateixa memòria USB per portar a tot arreu i hem configurat la partició xifrada per ser utilitzada com a magatzem de persistència. Així que ara, només hem de arrencar el sistema en viu. En el moment d'arrencar, live-boot ens preguntarà la frase de contrasenya i muntarà la partició xifrada per a ser utilitzada per a la persistència. 614 Personalització de la imatge binària 615 11. Personalització de la imatge binària 616 11.1 Carregadors d'arrencada 617 live-build utilitza syslinux i alguns dels seus derivats (depenent del tipus d'imatge) com carregadors d'arrencada per defecte. Es poden personalitzar fàcilment per satisfer totes les necessitats. 618 Per a utilitzar un tema complet, copiar /usr/share/live/build/bootloaders a config/bootloaders i editar els fitxers allí. Si no es vol modificar totes les configuracions dels carregadors d'arrencada disponibles, només cal utilitzar una còpia local personalitzada d'un dels carregadors, per exemple, copiar la configuració d'isolinux a config/bootloaders/isolinux ja é s suficient, depenent del cas d'ûs. 619 Quan es modifica un dels temes per defecte, si es vol utilitzar una imatge de fons personalitzada que es mostrarà juntament amb el menû d'arrencada, es pot afegir una imatge de 640x480 píxels. Aleshores, esborrar el fitxer splash.svg. 620 Hi ha moltes possibilitats a l'hora de fer canvis. Per exemple, els derivats de syslinux estan configurats per defecte amb un temps d'espera de 0 (zero) el que significa que faran una pausa indefinida en la seva pantalla inicial fins que es premi una tecla. 621 Per a modificar el temps d'espera d'arrencada d'una imatge iso-hybrid es pot editar el fitxer isolinux.cfg especificant el temps d'espera en unitats de segons 1/10. Un fitxer isolinux.cfg modificat per a arrencar després de cinc segons seria semblant a aquest: 622 623 include menu.cfg
   default vesamenu.c32
   prompt 0
   timeout 50
11.2 metadades ISO 624 Quan es crea una imatge binària ISO9660, es poden utilitzar les segýents opcions per a afegir diverses metadades textuals. Això pot ajudar a identificar fàcilment la versió o la configuració d'una imatge sense arrencar-la. 625 LB_ISO_APPLICATION/--iso-application NAME: Ha de descriure l'aplicació que serà a la imatge. La longitud màxima per a aquest camp é s de 128 caràcters. 626 LB_ISO_PREPARER/--iso-preparer NAME: Ha de descriure al preparador de la imatge, en general amb algunes dades de contacte. El valor per defecte per a aquesta opció é s la versió de live-build utilitzada, la qual cosa pot ajudar amb la depuració d'errors posterior. La longitud màxima per a aquest camp é s de 128 caràcters. 627 LB_ISO_PUBLISHER/--iso-publisher NAME: Ha de descriure l'editor de la imatge, en general amb algunes dades de contacte. La longitud màxima per a aquest camp é s de 128 caràcters. 628 LB_ISO_VOLUME/--iso-volume NAME: Això ha d'especificar l'ID de volum de la imatge. Això s'utilitza com una etiqueta visible per a l'usuari en algunes plataformes com Windows i Apple Mac OS. La longitud màxima per a aquest camp é s de 32 caràcters. 629 Personalització de l'instal·lador de debian 630 12. Personalització de l'instal·lador de debian 631 Les imatges del sistema en viu es poden integrar amb l'instal·lador de Debian. Hi ha un nombre de diferents tipus d'instal·lació, que varien en el que s'inclou i en com opera l'instal·lador. 632 Tenir en compte l'ûs acurat de les lletres majûscules quan es refereix a "l'instal·lador de Debian" en aquesta secció - quan s'utilitza així ens referim explícitament a l'instal·lador normal del sistema Debian, i no a una altra cosa. Es veu sovint abreujat com "d-i". 633 12.1 Tipus d'instal·lador de Debian 634 Els tres principals tipus d'instal·lador són els segýents: 635 Instal·lador de Debian "Normal": Aquesta é s una imatge normal de sistema en viu amb un nucli i initrd independents que (quan es seleccionen des del carregador d'arrencada adequat) realitzen una instal·lació estàndard de Debian, igual que si s'hagués descarregat i arrencat una imatge de Debian des d'un CD. Les imatges que contenen un sistema viu i aquest tipus d'instal·lador independent s'anomenen sovint "imatges combinades". 636 Amb aquest tipus d'imatges, Debian s'instal·la descarregant i instal·lant paquets .deb mitjançant debootstrap, des dels medis locals o alguna xarxa, aixó resulta en un sistema Debian per defecte instal·lat al disc dur. 637 Tot aquest procés pot ser preconfigurat i personalitzadat de moltes formes, veure les pàgines corresponents al manual de l'instal·lador de Debian per a més informació. Quan es té un fitxer de preconfiguració que funcioni, live-build pot posar-lo automàticament a la imatge i activar-lo. 638 Instal·lador de Debian "Live": Aquesta é s una imatge en viu amb un nucli i initrd independents que (quan es seleccionen des del carregador d'arrencada adequat) llancen un instal·lador de Debian. 639 La instal·lació continuarà de forma idèntica a l'instal·lació que s'ha descrit anteriorment, però en la fase d'instal·lació dels paquets, en lloc d'utilitzar debootstrap per a buscar-los i instalar-los, es copia el sistema de fitxers viu a la destinació. Això s'aconsegueix amb un udeb especial anomenat live-installer. 640 Després d'aquesta etapa, l'instal·lador de Debian continua de forma normal, instal·lant i configurant elements com ara els gestors d'arrencada i els usuaris locals, etc 641 Nota: per a donar suport a les entrades de l'instal·lador normal i live en el gestor d'arrencada del mateix medi s'ha de desactivar el live-installer mitjançant la preconfiguració live-installer/enable=false. 642 Instal·lador de Debian "d'escriptori": Independentment del tipus d'instal·lador de Debian inclòs, es pot iniciar el d-i des de l'escriptori fent clic damunt una icona. Aixó é s senzill per a l'usuari però perquè funcioni s'ha d'afegir el paquet debian-installer-launcher. 643 Tenir en compte que, per defecte, live-build no inclou imatges de l'instal·lador de Debian en les imatges, ha de ser específicament activat amb lb config. A més, tenir en compte que per a que funcioni l'instal·lador "d'escriptori" el nucli del sistema viu ha de coincidir amb el nucli que el d-i utilitza per a l'arquitectura especificada. Per exemple: 644 645 $ lb config --architectures i386 --linux-flavours 586 \
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;--debian-installer live
   $ echo debian-installer-launcher > > config/package-lists/my.list.chroot
12.2 Personalització de l'instal·lador de Debian amb preconfiguració 646 Com es descriu en el Manual de l'instal·lador de Debian, a l'apèndix B a <https://www.debian.org/releases/stable/i386/apb.html>, "la preconfiguració proporciona una manera de respondre a les preguntes durant la instal·lació, sense haver d'introduir les respostes manualment mentre la instal·lació està en curs. Això permet automatitzar completament la majoria dels tipus d'instal·lacions i fins i tot ofereix algunes característiques no disponibles durant les instal·lacions normals." Aquest tipus de personalització s'aconsegueix millor amb live-build col·locant la configuració en un fitxer preseed.cfg a config/includes.installer/. Per exemple, per a preconfigurar la variant local en_US: 647 648 $ echo "d-i debian-installer/locale string en_US" \
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#62;&#62; config/includes.installer/preseed.cfg
12.3 Personalitzar el contingut de l'instal·lador de Debian 649 Per motius experimentals o de depuració d'errors, é s possible que es vulgui incloure paquets udeb creats localment per al d-i. Per a afegir-los a la imatge posar-los a config/packages.binary/. Es poden incloure fitxers addicionals o de substitució i alguns directoris a l'initrd de l'instal·lador d'una manera similar a Live/chroot local includes, posant el material a config/includes.installer/. 650 Projecte 651 Contribuir al projecte 652 13. Contribuir al projecte 653 Quan s'envia una contribució, s'ha d'identificar clarament el titular dels drets d'autor i incloure la declaració de concessió de llicències aplicables. Recordar que per a ser acceptada, la contribució ha de tenir una llicencia igual que la resta del document, a saber, la versió de la GPL 3 o superior. 654 Les contribucions al projecte, com ara traduccions i pegats, són molt benvingudes. Qualsevol persona pot fer un lliurament directe al repositori. No obstant això, demanem que s'enviïn els canvis grans a la llista de correu per a parlar-ne en primer lloc. Veure la secció Contacte per a més informació. 655 El Live Systems Project utilitza Git com a sistema de control de versions i gestió de codi font. Com s'explica en Repositoris Git hi ha dues branques principals de desenvolupament: debian i debian-next. Tothom pot fer lliuraments a les branques debian-next dels repositoris live-boot, live-build, live-config, live-images, live-manual i live-tools. 656 No obstant això, hi ha certes restriccions. El servidor rebutja: 657 Push que no són fast-forward. 658 Commits merge. 659 Afegir o eliminar etiquetes o branques. 660 Tot i que tots els lliuraments poden ser revisats, demanem que s'utilitzi el sentit comû i es facin bons lliuraments amb bons missatges. 661 Escriure missatges de lliurament que consisteixen en oracions completes i significatives en anglès, començant amb una lletra majûscula i acabant amb un punt. En general, aquests començaran amb la forma 'Fixing/Adding/Removing/Correcting/Translating/...'. 662 Escriure bons missatges de lliurament. La primera línia ha de ser un resum exacte dels continguts del lliurament, que s'inclourà en la llista de canvis. Si es necessita fer algunes explicacions més, escriure a sota deixant una línia en blanc després de la primera línea i després una altra línia en blanc després de cada paràgraf. Les línies dels paràgrafs no han de superar els 80 caràcters de longitud. 663 Fer lliuraments de manera atòmica, é s a dir, no barrejar coses no relacionades en el mateix lliurament. Fer un lliurament diferent per a cada canvi que es faci. 664 13.1 Fer canvis 665 Per tal de fer un push als repositoris, s'ha de seguir el segýent procediment. Aquí s'utilitza live-manual com a exemple, per tant, cal substituir-lo pel nom del repositori amb que es desitja treballar. Per a obtenir informació detallada sobre com editar live-manual veure Contribuir a aquest document. 666 Obtenir la clau pûblica: 667 668 $ mkdir -p ~/.ssh/keys
   $ wget http://live-systems.org/other/keys/git@live-systems.org -O ~/.ssh/keys/git@live-systems.org
   $ wget http://live-systems.org/other/keys/git@live-systems.org.pub -O ~/.ssh/keys/git@live-systems.org.pub
   $ chmod 0600 ~/.ssh/keys/git@live-systems.org*
Afegir la segýent secció a la configuració del vostre openssh-client: 669 670 $ cat > > ~/.ssh/config < < EOF
   Host live-systems.org
    &#160;&#160;&#160;&#160;Hostname live-systems.org
    &#160;&#160;&#160;&#160;User git
    &#160;&#160;&#160;&#160;IdentitiesOnly yes
    &#160;&#160;&#160;&#160;IdentityFile ~/.ssh/keys/git@live-systems.org
   EOF
Fer una còpia del manual a través de ssh: 671 672 $ git clone git@live-systems.org:/live-manual.git
   $ cd live-manual &&amp; git checkout debian-next
Assegurar-se de tenir el autor i el correu electrònic configurats al Git: 673 674  &#160;$ git config user.name "John Doe"
    &#160;$ git config user.email john@example.org
Important: Tenir en compte que s'han d'enviar els canvis a la branca debian-next. 675 Fer els canvis. En aquest exemple s'hauria d'escriure primer una nova secció sobre aplicar pegats i després preparar-se per a afegir els fitxers i escriure el missatge de la segýent manera: 676 677 $ git commit -a -m "Adding a section on applying patches."
Fer un push al servidor: 678 679 $ git push
Informar dels errors 680 14. Informar dels errors 681 Live systems està lluny de ser perfecte, però volem que sigui el més perfecte possible - amb la vostra ajuda. No dubtar d'informar sobre un error. É s millor omplir un informe dues vegades que mai. No obstant això, aquest capítol inclou recomanacions sobre com presentar bons informes d'errors. 682 Per als impacients 683 Sempre consultar primer les actualitzacions del estat de la imatge a la nostra pàgina web a <http://live-systems.org/> per a veure els problemes coneguts. 684 Abans d'enviar un informe d'errors, sempre tractar de reproduir l'error amb les versions més recents de la branca de live-build, live-boot, live-config i live-tools què utilitzeu (com la darrera versió 4.x de live-build si s'utilitza live-build 4). 685 Intentar donar la informació més específica possible sobre l'error. Això inclou (almenys) la versió de live-build, live-boot, live-config i live-tools i la distribució del sistema en viu que s'està construint. 686 14.1 Problemes coneguts 687 Ja que les distribucions Debian testing i Debian unstable són blancs mòbils, quan s'especifica una d'elles com sistema de destinació, no sempre é s possible construir amb è xit. 688 Si això é s massa difícil, no construir un sistema basat en testing o unstable, sinó més aviat, utilitzar stable. live-build sempre construeix la versió stable per defecte. 689 El problemes coneguts es mostren sota la secció 'status' a la nostra pàgina web a <http://live-systems.org/>. 690 Està fora de l'abast d'aquest manual ensenyar a identificar correctament i solucionar els problemes dels paquets de les distribucions en desenvolupament, però, hi ha dues coses que sempre es pot provar: Si la construcció falla quan la distribució de destinació é s testing, provar unstable. Si unstable tampoc funciona, tornar a testing i fer un pin de la versió més recent del paquet que falla de unstable (veure APT pinning per a més detalls). 691 14.2 Reconstruir des de zero 692 Per a assegurar-se que un error en particular no é s causat per un sistema mal construït, reconstruir sempre tot el sistema en viu a partir de zero per veure si l'error é s reproduïble. 693 14.3 Fer servir paquets actualitzats 694 La utilització de paquets obsolets pot causar problemes significatius al tractar de reproduir (i en û ltima instància, arreglar) el problema. Comprovar que el sistema de construcció està actualitzat i tots els paquets inclosos en la imatge estan també actualitzats. 695 14.4 Recopilar informació 696 Proporcionar informació suficient amb l'informe. Incloure, com a mínim, la versió exacta de live-build i els passos per a reproduir-lo. Utilitzar el sentit comû i proporcionar tota altra informació pertinent si es pensa que aixó pot ajudar a resoldre el problema. 697 Per a treure el màxim profit del informe d'errors, es requereix com a mínim la informació segýent: 698 Arquitectura del sistema amfitrió 699 Distribució del sistema amfitrió 700 Versió de live-build al sistema amfitrió 701 Versió de debootstrap i/o cdebootstrap al sistema amfitrió 702 Arquitectura del sistema en viu 703 Distribució del sistema en viu 704 Versió de live-boot al sistema amfitrió 705 Versió de live-config al sistema amfitrió 706 Versió de live-tools al sistema amfitrió 707 Es pot generar un log del procés de construcció mitjançant l'ordre tee. Recomanem fer-ho automàticament amb un script auto/build (veure Gestió d'una configuració per a més detalls). 708 709 # lb build 2>&1 | tee build.log
Durant l'arrencada, live-boot i live-config emmagatzemen els seus logs a /var/log/live/. Comprovar aquest fitxers per a detectar missatges d'error. 710 A més, per a descartar altres errors, sempre é s una bona idea comprimir el directori config/ i pujar-lo a algun lloc (no enviar-lo com arxiu adjunt a la llista de correu), perquè puguem tractar de reproduir els errors que s'han trobat. Si això é s difícil (per exemple, a causa de la mida del arxiu) es pot utilitzar la sortida de lb config --dump que produeix un resum del arbre de configuració (és a dir, fa un llistat dels fitxers dins els subdirectoris de config/, però no els inclou). 711 Recordar que s'ha d'enviar qualsevol log que es produeixi amb la configuració regional en anglès, per exemple, executar les ordres de live-build començant per LC_ALL=C o LC_ALL=en_US. 712 14.5 Aïllar el cas que falla, si é s possible 713 Si pot ser, aïllar el cas que falla al canvi més petit possible que fa que no funcioni. No sempre é s fàcil fer això, per tant, si no es possible fer-ho pel informe, no preocupar-se. No obstant això, si es planeja bé el cicle de desenvolupament, i s'utilitzen petits conjunts de canvis suficients per iteració, es pot ser capaç d'aïllar el problema mitjançant la construcció d'una configuració 'base' més senzilla que s'ajusti a la configuració desitjada més el conjunt de canvis que fa que no funcioni. Si es dificil classificar quins canvis fan que falli, pot ser que s'inclogui massa en cada conjunt de canvis i s'ha de desenvolupar en petits increments. 714 14.6 Utilitzar el paquet correcte per a informar de l'error 715 Si no é s clar quin component é s el responsable de l'error o si l'error é s general pel que fa als sistemes vius, es pot omplir un informe d'errors sobre el pseudopaquet debian-live. 716 No obstant això, estarem molt agraïts si s'intenta limitar la recerca segons el lloc on apareix l'error. 717 14.6.1 A l'hora de construir mentre bootstrapping 718 live-build crea primer un sistema Debian bàsic amb debootstrap o cdebootstrap. Depenent de l'eina utilitzada i la distribució Debian que s'està creant mitjançant el bootstrapping, pot fallar. Si un error apareix aquí, comprovar si l'error està relacionat amb un paquet específic de Debian (el més probable), o si està relacionat a l'eina bootstraping en si mateixa. 719 En ambdós casos, això no é s un error del sistema en viu, sinó de Debian en si mateix i, probablement, no ho podem arreglar directament. Informar del error sobre l'eina de debootstrapping o el paquet que falla. 720 14.6.2 A l'hora de construir, durant la instal·lació de paquets 721 live-build instal·la paquets addicionals del arxiu de Debian i en funció de la distribució Debian utilitzada i de l'estat diari de l'arxiu, pot fallar. Si un error apareix aquí, comprovar si l'error é s també reproduïble en un sistema normal. 722 Si aquest é s el cas, no es tracta d'un error del sistema en viu, sinó de Debian - Informar d'això sobre el paquet que falla. Executar debootstrap per separat de la construcció del sistema Live o executar lb bootstrap --debug per a tenir més informació. 723 A més, si es fa servir un mirall local i/o qualsevol tipus de proxy i s'està experimentant algun problema, sempre s'ha de mirar de reproduir-lo fent un bootstrapping a partir d'un mirall oficial. 724 14.6.3 En el moment d'arrencar 725 Si la imatge no arrenca, informar a la llista de correu, juntament amb la informació sol·licitada a Recopilar informació. No oblidar-se d'esmentar, com/quan la imatge falla, ja sigui amb virtualització o maquinari real. Si s'utilitza una tecnologia de virtualització d'algun tipus, sempre fer la prova amb maquinari real abans d'informar d'un error. Proporcionar una captura de pantalla de l'error é s també molt û til. 726 14.6.4 En temps d'execució 727 Si un paquet s'ha instal·lat correctament, però falla quan s'executa el sistema Live, això é s probablement un error al sistema en viu. No obstant això: 728 14.7 Fer la recerca 729 Abans de presentar l'informe d'errors, cercar a la web el missatge d'error o símptoma que s'està rebent. Ja que é s molt poc probable que sigui l'ûnica persona que té un problema en particular. Sempre hi ha una possibilitat que hagi estat discutit en un altre lloc i hi hagi una possible solució, pegat o s'hagi proposat una solució alternativa. 730 S'ha de prestar especial atenció a la llista de correu dels sistemes en viu, així com a la pàgina web, ja que é s probable que continguin la informació més actualitzada. Si aquesta informació existeix, incloure una referènca a aquesta en l'informe d'errors. 731 A més, s'hauria de comprovar les llistes d'errors actuals de live-build, live-boot, live-config i live-tools per a veure si ja s'ha informat sobre alguna cosa semblant . 732 14.8 On informar dels errors 733 El Live Systems Project manté un registre de tots els errors en el sistema de seguiment d'errors de Debian (BTS). per a obtenir informació sobre la utilització del sistema, es pot consultar <https://bugs.debian.org/>. També es poden enviar els informes dels errors mitjançant l'ordre reportbug del paquet amb el mateix nom. 734 En general, s'ha d'informar dels errors en temps de construcció contra el paquet live-build, dels errors durant l'arrencada contra live-boot i dels errors de temps d'execució contra live-config. Si no s'està segur de quin paquet é s l'adequat o es necessita més ajuda abans d'enviar un informe d'errors, informar contra el pseudopaquet debian-live. Nosaltres ens farem càrrec d'ell i el reassignarem on sigui procedent. 735 Tenir en compte que els errors trobats en les distribucions derivades de Debian (com Ubuntu i altres) no han de ser enviats al BTS de Debian tret que puguin ser reproduïts també en sistemes Debian utilitzant paquets oficials de Debian. 736 Estil de Codi 737 15. Estil de Codi 738 En aquest capítol es documenta l'estil de codi utilitzat a live systems. 739 15.1 Compatibilitat 740 No utilitzar una sintaxi o semàntica que sigui exclusiva de l'intèrpret d'ordres Bash. Per exemple, l'ûs dels arrays. 741 Utilitzar només el subconjunt POSIX - per exemple, utilitzar $(foo) en lloc de `foo`. 742 Es pot comprovar els scripts amb 'sh -n' i 'checkbashisms'. 743 Assegurar-se que tot el codi funciona amb 'set -e'. 744 15.2 Indentació 745 Utilitzar sempre tabuladors en lloc d'espais. 746 15.3 Ajust de línia 747 En general, les línies són de 80 caràcters com a màxim. 748 Utilitzar "l'estil Linux" de salts de línia: 749 Mal: 750 751 if foo; then
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;bar
   fi
Bé: 752 753 if foo
   then
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;bar
   fi
El mateix val per a les funcions: 754 Mal: 755 756 Foo () {
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;bar
   }
Bé: 757 758 Foo ()
   {
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;bar
   }
15.4 Variables 759 Les variables van sempre en majûscules. 760 Les variables que s'utilitzen a live-build sempre comencen amb el prefix LB_ 761 Les variables temporals internes de live-build comencen amb el prefix _LB_ 762 Les variables locals comencen amb el prefix live-build _&#095;LB_ 763 Les variables en relació a un paràmetre d'arrencada de live-config comencen amb LIVE_. 764 Totes les altres variables de live-config comencen amb el prefix _ 765 Utilitzar claus al voltant de les variables, per exemple, escriure ${FOO} en lloc de $FOO. 766 Protegir sempre les variables amb cometes per a respectar els espais en blanc potencials: escriure "${FOO}" no ${FOO}. 767 Per raons de coherència, utilitzar sempre cometes al assignar valors a les variables: 768 Mal: 769 770 FOO=bar
Bé: 771 772 FOO="bar"
Si s'utilitzen mûltiples variables, posar cometes a l'expressió completa: 773 Mal: 774 775 if [ -f "${FOO}"/foo/"${BAR}"/bar ]
   then
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;foobar
   fi
Bé: 776 777 if [ -f "${FOO}/foo/${BAR}/bar" ]
   then
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;foobar
   fi
15.5 Miscel·lània 778 Utilitzar "|" (sense les cometes) com separador en l'ûs de sed, per exemple, "sed -e 's|foo|bar|'" (sense ""). 779 No utilitzar l'ordre test per a fer comparacions o tests, utilitzar "[" "]" (sense ""); per exemple, "if [ -x /bin/foo ]; ..." i no "if test -x /bin/foo; ...". 780 Utilitzar case sempre que sigui possible en lloc de test, ja que é s més fàcil de llegir i més ràpid en l'execució. 781 Fer servir noms en majûscula per a les funcions per evitar conflictes amb l'entorn dels usuaris. 782 Procediments 783 16. Procediments 784 Aquest capítol documenta els procediments dins del Live Systems Project per a les diferents tasques que necessiten la cooperació amb altres equips de Debian. 785 16.1 Publicacions majors 786 El llançament d'una nova versió de Debian inclou una gran quantitat de diferents equips que treballen junts per a fer que aixó succeeixi. En algun moment, l'equip Live arriba i construeix imatges en viu del sistema. Els requisits per a fer això són: 787 Un mirall que contingui les versions publicades dels arxius de debian i debian-security on pugui accedir el buildd de debian-live. 788 S'ha de conèixer el nom de la imatge (per exemple, debian-live-VERSION-ARCH-FLAVOUR.iso). 789 S'han de sincronitzar les dades de debian-cd (udeb exclude lists). 790 Les imatges es construeixen i s'en fa una rèplica a cdimage.debian.org. 791 16.2 Publicacions puntuals 792 Un cop més, necessitem miralls actualitzats de debian i debian-security. 793 Les imatges es construeixen i s'en fa una rèplica a cdimage.debian.org. 794 Enviar un anunci per correu electrònic. 795 16.2.1 Ù ltima publicació puntual d'una versió de Debian 796 Recordar que s'han d'ajustar els miralls chroot i binary en la construcció de l'ûltima sèrie d'imatges per a una versió de Debian després de canviar-les de ftp.debian.org a archive.debian.org. D'aquesta manera, les imatges prefabricades ja velles continuaran sent û tils sense modificacions per part dels usuaris. 797 16.2.2 Plantilla per a anunciar una publicació puntual 798 Es pot generar un correu per a anunciar una publicació puntual mitjançant la plantilla segýent i l'ordre: 799 800 $ sed \
    &#160;&#160;&#160;&#160;-e 's|@MAJOR@|9.0|g' \
    &#160;&#160;&#160;&#160;-e 's|@MINOR@|9.0.1|g' \
    &#160;&#160;&#160;&#160;-e 's|@CODENAME@|stretch|g' \
    &#160;&#160;&#160;&#160;-e 's|@ANNOUNCE@|2017/msgXXXXX.html|g'
Llegir el correu acuradament abans d'enviar-lo i passar-lo als altres per a la correcció d'errades. 801 802 Updated Live @MAJOR@: @MINOR@ released
&lt;br />   The Live Systems Project is pleased to announce the @MINOR@ update of the
   Live images for the stable distribution Debian @MAJOR@ (codename "@CODENAME@").
&lt;br />   The images are available for download at:
&lt;br />    &#160;&#160;&#60;http://live-systems.org/cdimage/release/current/>&lt;br />
   and later at:
&lt;br />    &#160;&#160;&#60;http://cdimage.debian.org/cdimage/release/current-live/>&lt;br />
   This update includes the changes of the Debian @MINOR@ release:
&lt;br />    &#160;&#160;&#60;https://lists.debian.org/debian-announce/@ANNOUNCE@>&lt;br />
   Additionally it includes the following Live-specific changes:
&lt;br />    &#160;* [INSERT LIVE-SPECIFIC CHANGE HERE]
    &#160;* [INSERT LIVE-SPECIFIC CHANGE HERE]
    &#160;* [LARGER ISSUES MAY DESERVE THEIR OWN SECTION]
&lt;br />   About Live Systems
   ------------------
   The Live Systems Project produces the tools used to build official
   live systems and the official live images themselves for Debian.
&lt;br />   About Debian
   ------------
   The Debian Project is an association of Free Software developers who
   volunteer their time and effort in order to produce the completely free
   operating system Debian.
&lt;br />   Contact Information
   -------------------
   For further information, please visit the Live Systems web pages at
   < http://live-systems.org/>, or contact the Live Systems team at
   < debian-live@lists.debian.org>.
Repositoris Git 803 17. Repositoris Git 804 La llista de tots els repositoris del Live Systems Project é s a <http://live-systems.org/gitweb/>. Les URLs git del projecte tenen la forma: protocol://live-systems.org/git/repositori. Per tant, per a clonar live-manual en només lectura, llançar: 805 806 $ git clone git://live-systems.org/git/live-manual.git
O, 807 808 $ git clone https://live-systems.org/git/live-manual.git
O, 809 810 $ git clone http://live-systems.org/git/live-manual.git
Les adreces per a clonar amb permís d'escriptura tenen la forma: git@live-systems.org/repositori. 811 Així que, de nou, per a clonar live-manual a través de ssh escriure: 812 813 $ git clone git@live-systems.org:live-manual.git
L'arbre git es compon de diverses branques diferents. Les branques debian i debian-next són particularment notables perquè contenen el treball real que, amb el temps, serà inclòs en cada nova versió. 814 Després de clonar qualsevol dels repositoris existents, estarem a la branca debian. Això é s apropiat per a fer una ullada a l'estat de l'ûltima versió del projecte, però abans de començar a treballar é s fonamental canviar a la branca debian-next. Per fer això: 815 816 $ git checkout debian-next
La branca debian-next, que no sempre é s fast-forward, é s on es realitzen tots els canvis abans de fusionar-los amb la branca debian. Per fer una analogia, é s com un camp de proves. Si s'està treballant en aquesta branca i es necessari fer un pull, s'haurà de fer un git pull --rebase perquè les modificacions locals es guardin mentre s'actualitza des del servidor i llavors els canvis locals es posaran al damunt de tot. 817 17.1 Gestió de mûltiples repositoris 818 Si es té la intenció de clonar diversos repositoris de Live Systems i canviar a la branca debian-next immediatament per a comprovar l'ûltim codi, escriure un pegat o contribuir amb una traducció, s'ha de saber que el servidor git proporciona un fitxer mrconfig per a facilitar el maneig de mûltiples repositoris. Per a utilitzar-lo cal instal·lar el paquet mr i després d'això, fer: 819 820 $ &#160;mr bootstrap http://live-systems.org/other/mr/mrconfig
Aquesta ordre automàticament clonarà i canviarà a la branca debian-next els repositoris de desenvolupament dels paquets debian produïts pel projecte. Aquests inclouen, entre d'altres, el repositori live-images, que conté les configuracions utilitzades per a construir les imatges prefabricades que el projecte publica per a l'ûs general. per a obtenir més informació sobre com utilitzar aquest repositori, consultar Clonar una configuració publicada via Git 821 Exemples 822 Exemples 823 18. Exemples 824 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ý&#232;ncia, ja que cada un ensenya noves tècniques que ajuden a utilitzar i entendre els exemples restants. 825 18.1 Ú s dels exemples 826 per a utilitzar aquests exemples es necessita un sistema de construcció que compleixi les exigències enumerades a Requisits y que tingui live-build instal·lat com es descriu a Instal·lació de live-build. 827 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ó, 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: 828 829 LB_MIRROR_BOOTSTRAP="http://mirror/debian/"
   LB_MIRROR_CHROOT_SECURITY="http://mirror/debian-security/"
   LB_MIRROR_CHROOT_BACKPORTS="http://mirror/debian-updates/"
18.2 Tutorial 1: Una imatge per defecte 830 Cas d'ûs: Crear una primera imatge senzilla, aprenent els conceptes bàsics de live-build. 831 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. 832 No pot ser més senzill que això: 833 834 $ mkdir tutorial1 ; cd tutorial1 ; lb config
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. 835 Ara, com a superusuari, construir la imatge, guardant un log del que es construeix amb tee. 836 837 # lb build 2>&1 | tee build.log
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 i Provar una imatge ISO amb VirtualBox, o bé copiada a un dispositiu USB com es descriu a Gravar una imatge ISO en un medi físic i Copiar una imatge ISO híbrida en un dispositiu USB, respectivament. 838 18.3 Tutorial 2: Una utilitat de navegador web 839 Cas d'ûs: Crear una imatge d'una utilitat de navegador web, aprenent a aplicar personalitzacions. 840 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. 841 842 $ mkdir tutorial2
   $ cd tutorial2
   $ lb config
   $ echo "task-lxde-desktop iceweasel" > > config/package-lists/my.list.chroot
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. 843 Construir la imatge, de nou com a superusuari, guardant un log com al Tutorial 1: 844 845 # lb build 2>&1 | tee build.log
Un cop més, verificar que la imatge està bé i provar-la, com al Tutorial 1. 846 18.4 Tutorial 3: Una imatge personalitzada 847 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. 848 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ó. 849 18.4.1 Primera revisió 850 851 $ mkdir -p tutorial3/auto
   $ cp /usr/share/doc/live-build/examples/auto/* tutorial3/auto/
   $ cd tutorial3
Editar auto/config de la manera segýent: 852 853 #!/bin/sh
&lt;br />   lb config noauto \
    &#160;&#160;&#160;&#160;--architectures i386 \
    &#160;&#160;&#160;&#160;--linux-flavours 686-pae \
    &#160;&#160;&#160;&#160;"${@}"
Executar lb config per a crear l'arbre de configuració, utilitzant el script auto/config que s'acaba de crear: 854 855 $ lb config
Ara, omplir la llista local de paquets: 856 857 $ echo "task-lxde-desktop iceweasel xchat" > > config/package-lists/my.list.chroot
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. 858 Ara, construir la imatge: 859 860 # lb build
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. 861 Quan s'ha provat la imatge (com al 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: 862 863 $ git init
   $ cp /usr/share/doc/live-build/examples/gitignore .gitignore
   $ git add .
   $ git commit -m "Initial import."
18.4.2 Segona revisió 864 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. 865 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ó. 866 867 # lb clean
Ara afegim el paquet vlc al llistat de paquets local a config/package-lists/my.list.chroot: 868 869 $ echo vlc > > config/package-lists/my.list.chroot
Construir de nou: 870 871 # lb build
Provar, i quan s'estigui satisfet, fer el lliurament de la propera revisió: 872 873 $ git commit -a -m "Adding vlc media player."
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. 874 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. 875 18.5 Un client per a un quiosc VNC 876 Cas d'ûs: Crear una imatge amb live-build per a connectar-se directament a un servidor VNC al arrencar. 877 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), i la segona incloent-hi xorg, gdm3, metacity i xvnc4viewer. 878 879 $ 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
Com s'explica a Afinar APT per a estalviar espai pot ser que s'hagi de tornar a afegir alguns paquets recomanats per a fer que la imatge funcioni correctament. 880 Una manera fàcil d'enumerar els recommends é s utilitzar apt-cache. Per exemple: 881 882 $ apt-cache depends live-config live-boot
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: 883 884 $ echo "live-tools user-setup sudo eject" > config/package-lists/recommends.list.chroot
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: 885 886 $ mkdir -p config/includes.chroot/etc/skel
   $ cat > config/includes.chroot/etc/skel/.xsession < < EOF
   #!/bin/sh
&lt;br />   /usr/bin/metacity &&lt;br />   /usr/bin/xvncviewer 192.168.1.2:1
&lt;br />   exit
   EOF
Construir la imatge: 887 888 # lb build
Gaudir-ne. 889 18.6 Una imatge bàsica per a un dispositiu USB de 128MB 890 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. 891 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. 892 893 $ lb config --apt-indices false --apt-recommends false --debootstrap-options "--variant=minbase" --firmware-chroot false --memtest none
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 894 895 $ echo "user-setup sudo" > config/package-lists/recommends.list.chroot
Ara, crear la imatge de la forma habitual: 896 897 # lb build 2>&1 | tee build.log
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. 898 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. 899 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ý&#232;ncies imprevistes. É s per això que l'ûs d'un debootstrap mínim é s el mètode recomanat per a aconseguir aquest objectiu. 900 18.7 Un escriptori GNOME localitzat i amb instal·lador 901 Cas d'ûs: Crear una imatge amb l'escriptori GNOME, localitzat per Suïssa i que inclogui un instal·lador. 902 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. 903 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: 904 905 # apt-get install dctrl-tools tasksel-data
Ara podem buscar les tasques apropiades, primer amb: 906 907 $ grep-dctrl -FTest-lang de /usr/share/tasksel/descs/debian-tasks.desc -sTask
   Task: german
Mitjançant aquesta ordre, es descobreix que la tasca s'anomena, amb suficient claredat, german. Ara, per a trobar les tasques relacionades: 908 909 $ grep-dctrl -FEnhances german /usr/share/tasksel/descs/debian-tasks.desc -sTask
   Task: german-desktop
   Task: german-kde-desktop
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 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: 910 911 $ mkdir live-gnome-ch
   $ cd live-gnome-ch
   $ lb config \
    &#160;&#160;&#160;&#160;-a i386 \
    &#160;&#160;&#160;&#160;--bootappend-live "boot=live components locales=de_CH.UTF-8 keyboard-layouts=ch" \
    &#160;&#160;&#160;&#160;--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
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. 912 Apèndix 913 Style guide 914 19. Guia d'estil 915 19.1 Instruccions per als autors 916 Aquesta secció s'ocupa d'algunes consideracions generals a tenir en compte al escriure documentació tècnica per a live-manual. Es divideixen en aspectes lingý&#237;stics i procediments recomanats. 917 Nota: Els autors han de llegir primer Contribuir a aquest document 918 19.1.1 Característiques lingý&#237;stiques 919 Utilitzar un anglès planer 920 Tenir en compte que un alt percentatge dels lectors no són parlants nadius d'anglès. Així que, com a regla general, intentar utilitzar frases curtes i significatives, seguides d'un punt i apart. 921 Això no vol dir que s'hagi d'utilitzar un estil simplista i ingenu. É s un suggeriment per intentar evitar, en la mesura del possible, les oracions subordinades complexes que fan que el text sigui difícil d'entendre per als parlants no nadius d'anglès. 922 Varietat d'anglès 923 Les varietats d'anglès més esteses són el britànic i l'americà, així que é s molt probable que la majoria dels autors acabin utilitzant l'una o l'altra. En un entorn de col·laboració, la varietat ideal seria "l'anglès internacional", però é s molt difícil, per no dir impossible, decidir quina varietat d'entre totes les existents, é s la millor. 924 Esperem que les diferents varietats es puguin barrejar sense crear malentesos, però en termes generals s'ha d'intentar ser coherent i abans de decidir sobre l'ûs de l'anglès britànic, l'anglès americà o qualsevol altra varietat, fer una ullada a com escriuen altres persones i tractar d'imitar l'estil. 925 Ser equilibrat 926 S'ha de ser imparcial. Evitar incloure referències a ideologies totalment alienes a live-manual. L'escriptura tècnica ha de ser el més neutral possible. Està en la naturalesa mateixa de l'escriptura científica. 927 Ser políticament correcte 928 Evitar el llenguatge sexista tant com sigui possible. Si es necessita fer referència a la tercera persona del singular utilitzar preferiblement "they" en lloc de "he" or "she" o invents estranys com per exemple "s/he" o "s(he)". 929 Ser concís 930 Anar directament al gra i no fent voltes. Donar tota la informació necessària, però no afegir més informació de la necessària, é s a dir, no explicar detalls innecessaris. Els lectors són intel·ligents. Es presumeix algun coneixement previ per la seva part. 931 Minimitzar la feina de traducció 932 Tenir en compte que qualsevol cosa que s'escrigui haurà de ser traduida a diverses llengýes. Això implica que un nombre de persones hauran de fer un treball extra si s'agrega informació innecessària o redundant. 933 Ser coherent 934 Com s'ha suggerit abans, é s gairebé impossible estandarditzar un document escrit en col·laboració en un tot perfectament unificat. No obstant això, s'aprecia tot esforç per escriure d'una manera coherent amb la resta dels autors. 935 Cohesió 936 Utilitzar connectors del discurs perquè el text sigui coherent i sense ambigýitats. (Normalment s'anomenen connectors). 937 Ser descriptiu 938 É s preferible descriure l'assumpte en un o diversos paràgrafs en lloc d'utilitzar una sèrie de oracions en un típic estil de "changelog". Cal descriure-ho! Els Lectors ho agrairan. 939 Diccionari 940 Buscar el significat de les paraules en un diccionari o una enciclopèdia si no es sap com expressar certs conceptes en anglès. Però cal tenir en compte que un diccionari pot ser el millor amic o pot convertir-se en el pitjor enemic si no es sap com utilitzar-lo correctament. 941 L'anglès té el vocabulari més gran que existeix (amb més d'un milió de paraules). Moltes d'aquestes paraules són préstecs d'altres llengýes. Al buscar el significat de les paraules en un diccionari bilingýe la tendència d'un parlant no nadiu d'anglès é s triar la que sona més semblant en la seva llengua materna. Sovint, això es converteix en un discurs excessivament formal que no sona ben natural en anglès. 942 Com a regla general, si un concepte es pot expressar utilitzant diferents sinònims, é s un bon consell triar la primera paraula proposada pel diccionari. En cas de dubte, é s sovint correcte elegir les paraules d'origen germànic (Normalment paraules monosíl·labes). Tenir en compte que aquestes dues tècniques poden produir un discurs més aviat informal, però almenys la elecció de paraules serà d'ampli û s i acceptació general. 943 L'ûs d'un diccionari de frases fetes es recomanable. Són molt û tils quan es tracta de saber quines paraules solen aparèixer juntes. 944 Com s'ha dit abans, é s una bona pràctica aprendre del treball dels altres. L'ûs d'un motor de recerca per comprovar com altres autors utilitzen certes expressions pot ajudar molt. 945 Falsos amics, modismes i altres expressions idiomàtiques 946 Compte amb els falsos amics. No importa com de competent un é s en un idioma estranger, de tant en tant es pot caure en el parany dels anomenats "falsos amics", paraules que s'assemblen en dos idiomes però els significats o usos poden ser completament diferents. 947 Intentar evitar els modismes tant com sigui possible. Els "modismes " són expressions que tenen un significat completament diferent del que les seves paraules per separat semblen voler dir. De vegades, els modismes poden ser difícils d'entendre fins i tot per als parlants nadius d'anglès! 948 Evitar l'argot, les abreviatures, les contraccions... 949 Tot i que s'anima a utilitzar un anglès senzill i planer, l'escriptura tècnica pertany al registre formal de la llengua. 950 Intentar evitar l'argot, les abreviatures inusuals que són difícils d'entendre i per sobre de tot, les contraccions que tracten d'imitar el llenguatge parlat. Per no parlar d'expressions familiars o típiques de l'irc. 951 19.1.2 Procediments 952 Provar abans d'escriure 953 É s important que els autors provin els seus exemples abans d'afegir-los a live-manual per assegurar-se que tot funciona com es descriu. Fer les proves en un entorn chroot net o en una màquina virtual pot ser un bon punt de partida. A més, seria ideal si les proves fossin dutes a terme en diferents ordinadors amb un maquinari diferent per detectar els possibles problemes que puguin sorgir. 954 Exemples 955 Quan es posa un exemple mirar de ser el més específic possible. Un exemple é s, després de tot, només un exemple. 956 Sovint é s millor utilitzar una línia que només s'aplica a un cas concret que l'ûs d'abstraccions que poden confondre als lectors. En aquest cas es pot donar una breu explicació dels efectes de l'exemple proposat. 957 Hi pot haver algunes excepcions quan l'exemple suggereixi l'ûs d'algunes ordres potencialment perilloses que, si s'utilitzen incorrectament, poden provocar la pèrdua de dades o altres efectes indesitjables similars. En aquest cas, s'haurà de proporcionar una explicació detallada sobre els possibles efectes secundaris. 958 Enllaços externs 959 Els enllaços a llocs externs només s'han d'utilitzar quan la informació en aquests llocs é s crucial per a comprendre un punt especial. Tot i això, intentar utilitzar els enllaços a llocs externs el menys possible. Els enllaços d'internet poden canviar de tant en tant, donant lloc a enllaços trencats i deixant els arguments en un estat incomplet. 960 A més, la gent que llegeix el manual sense connexió no podrà seguir els enllaços. 961 Evitar les marques i les coses que violen la llicència sota la qual es publica el manual 962 Intentar evitar les marques tant com sigui possible. Tenir en compte que altres projectes derivats poden fer û s de la documentació que escrivim. Així que estem complicant les coses per a ells si s'afegix determinat material específic. 963 live-manual es publica sota la llicència GNU GPL. Això té una sèrie d'implicacions que s'apliquen a la distribució dels materials (de qualsevol tipus, incloent-hi gràfics o logotips amb drets d'autor) que es publica amb ell. 964 Escriure un primer esborrany, revisar, editar, millorar, fer de nou si é s necessari 965 - Pluja d'idees!. Es necessari organitzar les idees primer en una seqý&#232;ncia lògica d'esdeveniments. 966 - Quan d'alguna manera ja s'han organitzat aquestes idees en la ment, escriure un primer esborrany. 967 - Revisar la gramàtica, la sintaxi i l'ortografia. Tenir en compte que els noms propis de les versions, com ara buster o sid, no s'han d'escriure en majûscula quan es refereixen als noms en clau. Per tal de comprovar l'ortografia es pot executar el target "spell". É s a dir, make spell 968 - Millorar les frases i refer qualsevol part si é s necessari. 969 Capítols 970 Utilitzar el sistema de numeració convencional dels capítols i subtítols. Per exemple 1, 1.1, 1.1.1, 1.1.2 ... 1.2, 1.2.1, 1.2.2 ... 2, 2.1 ... i així successivament. Veure marcat a continuació. 971 Si s'ha d'enumerar una sèrie de passos o etapes en la descripció, també es poden utilitzar els nombres ordinals: primer, segon, tercer ... o en primer lloc, llavors, després, per fi ... Alternativament, es poden utilitzar punts. 972 Marcat 973 I per û ltim però no menys important, live-manual utilitza SiSU per processar els fitxers de text i produir mûltiples formats. Es recomana fer una ullada al manual de SiSU per a familiaritzar-se amb el seu marcat, o bé escriure: 974 975 $ sisu --help markup
Aquests són alguns exemples de marcat que poden ser û tils: 976 - Per a l'èmfasi/negreta: 977 978 *{foo}* o !{foo}!
produeixen: foo o foo. S'usen per emfatitzar certes paraules clau. 979 - Per a la cursiva: 980 981 /{foo}/
produeix: foo. S'usa, per exemple, per als noms dels paquets Debian. 982 - Per a monospace: 983 984 #{foo}#
produeix: foo. S'usa per exemple, per als noms de les ordres. I també per ressaltar algunes paraules clau o coses com les rutes. 985 - Per a blocs de codi: 986 987 code{
&lt;br />    &#160;$ foo
    &#160;# bar
&lt;br />   }code
produeix: 988 989 $ foo
   # bar
S'utilitza code{ per a obrir i }code per a tancar els blocs. É s important recordar deixar un espai al principi de cada línia de codi. 990 19.2 Directrius per als traductors 991 Aquesta secció s'ocupa d'algunes consideracions generals a tenir en compte a l'hora de traduir el contingut de live-manual. 992 Com a recomanació general, els traductors haurien d'haver llegit i entès les regles de traducció que s'apliquen als seus llenguatges específics. En general, els grups de traductors i les llistes de correu proporcionen informació sobre com produir traduccions que compleixin amb els estàndards de qualitat de Debian. 993 Nota: Els traductors també han de llegir Contribuir a aquest document. En particular, la secció Traducció 994 19.2.1 Consells de traducció 995 Comentaris 996 El paper del traductor é s transmetre el més fidelment possible el significat de les paraules, oracions, paràgrafs i textos de com van ser escrits pels autors originals al seu idioma. 997 Per tant, aquests, s'han d'abstenir d'afegir comentaris personals o informacions addicionals pel seu compte. Si es vol afegir un comentari per als traductors que treballen en els mateixos documents, es poden deixar a l'espai reservat per a això. É s a dir, la capçalera de les cadenes dels fitxers po precedits pel signe #. La majoria dels programes gràfics de traducció poden manejar aquest tipus de comentaris automàticament. 998 NT, Nota del Traductor 999 É s perfectament acceptable però, incloure una paraula o una expressió entre parèntesi en el text traduït si, i només si, aixó fa que el significat d'una paraula o expressió difícil sigui més clara per al lector. Dins dels parèntesis, el traductor ha de posar de manifest que l'addició é s seva utilitzant l'abreviatura "NT" o "Nota del traductor". 1000 Frases impersonals 1001 Els documents escrits en anglès fan un gran û s de la forma impersonal "you". En alguns altres idiomes que no comparteixen aquesta característica, això pot donar la falsa impressió que els textos originals s'adresen directament el lector quan en realitat n'ho fan. Els traductors han de ser conscients d'aquest fet i ho han de reflectir en el seu idioma amb la major precisió possible. 1002 Falsos amics 1003 El perill dels "falsos amics" explicat anteriorment s'aplica especialment als traductors. Tornar a comprovar el significat dels falsos amics sospitosos en cas de dubte. 1004 Marcat 1005 Els traductors que treballin inicialment amb els fitxers pot i posteriorment amb els fitxers po trobaràn moltes característiques de marcat en les cadenes. Es pot traduir el text, sempre que sigui traduïble, però é s extremadament important que s'utilitzi exactament el mateix marcat que a la versió original en anglès. 1006 Blocs de codi 1007 Tot i que els blocs de codi són generalment intraduïbles, incloure'ls en la traducció é s l'ûnica manera de conseguir una traducció completa al 100%. I encara que això signifiqui més feina al principi, ja que pot requerir la intervenció dels traductors s'hi ha canvis en el codi, é s la millor manera, a la llarga, per identificar el que s'ha traduït i el que no al comprovar la integritat dels fitxers .po. 1008 Salts de línia 1009 Els texts traduïts han de tenir exactament els mateixos salts de línia que els texts originals. Aneu amb compte de pressionar la tecla "Enter" o escriure \n si apareix als fitxers originals. Aquests salts de línies apareixen sovint, per exemple, en els blocs de codi. 1010 No confondre's, això no vol dir que el text traduït hagi de tenir la mateixa longitud que la versió en anglès. Aixó é s gairebé impossible. 1011 Cadenes intraduïbles 1012 Els traductors no han de traduir mai: 1013 - Els noms en clau de les versions (que han de ser escrits en minûscules) 1014 - Els noms dels programes 1015 - Les ordres que es posen com a exemples 1016 - Les metadades (apareixen sovint entre dos punts :metadata:) 1017 - Els enllaços 1018 - Les rutes 1019