1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
|
:B~ Conceptes bàsics
1~the-basics Conceptes bàsics
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.
La secció acaba amb una breu introducció al {webbooting}#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à.
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}#downloading-prebuilt-images, els noms dels fitxers poden ser
direrents.
2~what-is-live Què és un sistema viu?
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}#terms).
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:
_* *{Imatge del nucli Linux}*, generalment s'anomena #{vmlinuz*}#
_* *{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üències d'ordres per a
fer-ho.
_* *{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}#persistence).
_* *{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.
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.).
2~downloading-prebuilt-images Descàrrega d'imatges prefabricades
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}#clone-configuration-via-git 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/.
2~using-web-builder Ús del servei de construcció d'imatges en viu web
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}#contact, proporcionant l'enllaç a la pàgina web de la imatge
construïda.
3~ Ús i advertències sobre el servei web
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.
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}#contact 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.
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.
2~building-iso-hybrid Primers passos: construcció d'una imatge ISO híbrida
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üè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.
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.
code{
$ mkdir live-default && cd live-default
}code
Aleshores, executar l'ordre #{lb config}#. Això crearà una jerarquia
«config/» en el directori actual per a ser utilitzada per altres ordres:
code{
$ lb config
}code
Aquí no es passa cap paràmetre a aquestes ordres, per tant s'utilitzaran les
opcions per defecte. Veure {L'ordre lb config}#lb-config per a més detalls.
Ara que la jerarquia «config/» ja existeix, crear la imatge amb l'ordre #{lb
build}#:
code{
# lb build
}code
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.
*{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.
2~using-iso-hybrid Usar una imatge ISO híbrida en viu
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.
3~burning-iso-image Gravar una imatge ISO en un medi físic
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:
code{
# apt-get install xorriso
$ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed live-image-i386.hybrid.iso
}code
3~copying-iso-hybrid-to-usb Copiar una imatge ISO híbrida en un dispositiu
USB
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}#.
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!}*
code{
$ cp live-image-i386.hybrid.iso ${USBSTICK}
$ sync
}code
*{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.
3~using-usb-extra-space Utilitzar l'espai lliure en una memòria USB
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ó.
code{
# gparted ${USBSTICK}
}code
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.
code{
# mkfs.ext4 ${PARTITION}
}code
*{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}#contact, però sembla que no hi ha respostes fàcils.
*{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.}*
3~booting-live-medium Arrencar el medi en viu
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.
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.
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}#downloading-prebuilt-images, s'iniciarà una sessió com a
usuari #{user}# i es veurà el indicador de la shell, a punt per a ser
utilitzat.
2~using-virtual-machine Utilitzar una màquina virtual per a fer proves
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:
_* 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ó.
_* 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.
_* En el desenvolupament per a un maquinari específic, no hi ha cap
substitut millor que el propi maquinari.
_* 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.
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.
3~testing-iso-with-qemu Provar una imatge ISO amb QEMU
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.
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}#.
code{
# apt-get install qemu-kvm qemu-utils
}code
Arrencar una imatge ISO és senzill:
code{
$ kvm -cdrom live-image-i386.hybrid.iso
}code
Veure les pàgines del manual per a més detalls
3~testing-iso-with-virtualbox Provar una imatge ISO amb VirtualBox
Per a provar la ISO amb /{virtualbox}/:
code{
# apt-get install virtualbox virtualbox-qt virtualbox-dkms
$ virtualbox
}code
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.
*{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.
code{
$ echo "virtualbox-guest-dkms virtualbox-guest-x11" >> config/package-lists/my.list.chroot
}code
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.
code{
$ lb config --linux-packages "linux-image linux-headers"
}code
2~using-hdd-image Construir i utilitzar una imatge HDD
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.
*{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}#lb-clean):
code{
# lb clean --binary
}code
Executar l'ordre #{lb config}# com abans, excepte que aquesta vegada
especificant el tipus d'imatge HDD:
code{
$ lb config -b hdd
}code
Ara construir la imatge amb l'ordre #{lb build}#:
code{
# lb build
}code
Quan la construcció acabi, hauria d'haver un fitxer #{live-image-i386.img}#
al directori actual.
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}#using-iso-hybrid, però amb el nom de fitxer
#{live-image-i386.img}# en lloc de #{live-image-i386.hybrid.iso}#.
Igualment, per a provar una imatge HDD amb Qemu, instal·lar /{qemu}/ com
s'ha descrit anteriorment a {Provar una imatge ISO amb
QEMU}#testing-iso-with-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.
code{
$ kvm -hda live-image-i386.img
}code
2~building-netboot-image Construir una imatge netboot
La següent seqüè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.
*{Nota:}* si s'ha realitzat algun dels exemples anteriors, s'haurà de netejar el directori de treball amb l'ordre #{lb clean}#:
code{
# lb clean
}code
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é)
Executar l'ordre següent per a configurar la imatge per a arrencar en xarxa:
code{
$ lb config -b netboot --net-root-path "/srv/debian-live" --net-root-server "192.168.0.2"
}code
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.
Ara construir la imatge amb l'ordre #{lb build}#:
code{
# lb build
}code
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.
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/}#.
Ara hem de configurar els tres serveis al servidor per a l'arrencada en
xarxa: el servidor DHCP, servidor TFTP i el servidor NFS.
3~ Servidor DHCP
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.
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}#:
code{
# /etc/dhcp/dhcpd.conf - configuration file for isc-dhcp-server
ddns-update-style none;
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.1 192.168.0.254;
filename "pxelinux.0";
next-server 192.168.0.2;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
}
}code
3~ Servidor TFTP
Aquest serveix el nucli i el disc ram inicial per al sistema en temps
d'execució.
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:
code{
# dpkg-reconfigure -plow tftpd-hpa
}code
i omplir el nou directori del servidor tftp quan ho hàgim de fer.
3~ Servidor NFS
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.
S'ha d'instal·lar el paquet /{nfs-kernel-server}/
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}#:
code{
/srv/debian-live *(ro,async,no_root_squash,no_subtree_check)
}code
i informar al servidor NFS sobre aquesta nova exportació amb la següent
ordre:
code{
# exportfs -rv
}code
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.
3~ Com provar l'arrencada en xarxa
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.
Per a fer la nostra vida més fàcil, podem utilitzar la virtualització.
3~ Qemu
_* Instal·lar /{qemu}/, /{bridge-utils}/, /{sudo}/.
Editar #{/etc/qemu-ifup}#:
code{
#!/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
}code
Descarregar o crear un #{grub-floppy-netboot}#.
Llançar #{qemu}# amb "#{-net nic,vlan=0 -net tap,vlan=0,ifname=tun0}#"
2~webbooting Webbooting
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.
3~ Obtenir els fitxers webboot
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}#.
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:
code{
# mount -o loop image.iso /mnt
}code
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.
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.
3~ Arrencar imatges webboot
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.
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:
code{
append boot=live components fetch=http://192.168.2.50/images/webboot/filesystem.squashfs
}code
*{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.
|