Gentoo Archives: gentoo-commits

From: "Davide Cendron (scen)" <scen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/doc/it: openrc-migration.xml
Date: Wed, 07 May 2008 19:36:20
Message-Id: E1JtpR2-0006wt-Re@stork.gentoo.org
1 scen 08/05/07 19:36:16
2
3 Added: openrc-migration.xml
4 Log:
5 Initial commit: version 1.6, revision 1.10 of EN CVS
6
7 Revision Changes Path
8 1.1 xml/htdocs/doc/it/openrc-migration.xml
9
10 file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/it/openrc-migration.xml?rev=1.1&view=markup
11 plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/it/openrc-migration.xml?rev=1.1&content-type=text/plain
12
13 Index: openrc-migration.xml
14 ===================================================================
15 <?xml version='1.0' encoding='UTF-8'?>
16 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
17 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/it/openrc-migration.xml,v 1.1 2008/05/07 19:36:16 scen Exp $ -->
18
19 <guide link="/doc/it/openrc-migration.xml" lang="it">
20 <title>Guida alla Migrazione di Baselayout e OpenRC</title>
21
22 <author title="Autore">
23 <mail link="cardoe"/>
24 </author>
25 <author title="Autore">
26 <mail link="nightmorph"/>
27 </author>
28 <author title="Collaboratore">
29 <mail link="uberlord"/>
30 </author>
31 <author title="Traduzione">
32 <mail link="magowiz@×××××.com">Marcello Magaldi</mail>
33 </author>
34
35 <abstract>
36 Questa guida illustra come migrare da baselayout-1 a baselayout-2 e OpenRC.
37 </abstract>
38
39 <!-- The content of this document is licensed under the CC-BY-SA license -->
40 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
41 <license/>
42
43 <version>1.6</version>
44 <date>2008-04-15</date>
45
46 <chapter>
47 <title>Introduzione</title>
48 <section>
49 <title>Cos'è baselayout?</title>
50 <body>
51
52 <p>
53 Baselayout fornisce un insieme base di file che sono necessari per far
54 funzionare adeguatamente tutti i sistemi, come ad esempio
55 <path>/etc/hosts</path>. Fornisce anche il layout base del filesystem usato da
56 Gentoo (ad es. le directory <path>/etc</path>,
57 <path>/var</path>,<path>/usr</path>, <path>/home</path>).
58 </p>
59
60 </body>
61 </section>
62 <section>
63 <title>Cos'è OpenRC?</title>
64 <body>
65
66 <p>
67 OpenRC è un sistema rc basato sulle dipendenze che funziona con qualsiasi init
68 fornito dal sistema, normalmente <path>/sbin/init</path>. Comunque, <e>non</e>
69 è un sostituto per <path>/sbin/init</path>. L'init predefinito usato da Gentoo
70 Linux è <c>sys-apps/sysvinit</c>, mentre Gentoo/FreeBSD utilizza l'init di
71 FreeBSD fornito da <c>sys-freebsd/freebsd-sbin</c>.
72 </p>
73
74 </body>
75 </section>
76 <section>
77 <title>Perché migrare?</title>
78 <body>
79
80 <p>
81 Inizialmente il sistema rc di Gentoo è stato compilato dentro a baselayout 1 e
82 scritto interamente in bash. Questo introduce molte limitazioni. Per esempio,
83 certe chiamate di sistema hanno bisogno di essere effettuate durante il boot e
84 ciò ha richiesto l'aggiunta di chiamate basate su C. Ognuna di queste chiamate
85 era linkata staticamente, con la conseguenza che il sistema rc ci metteva più
86 tempo ad eseguire le proprie operazioni.
87 </p>
88
89 <p>
90 Inoltre, siccome Gentoo si è espansa ad altre piattaforme come Gentoo/FreeBSD e
91 Gentoo Embedded, è diventato impossibile mantenere un sistema rc basato su bash.
92 Questo ha portato allo sviluppo di baselayout 2, che è scritto in C e richiede
93 unicamente una shell che segue lo standard POSIX. Durante lo sviluppo di
94 baselayout 2, è stato deciso che era più appropriato che baselayout fornisse
95 solamente i file base e il layout del filesystem per Gentoo, così il sistema rc
96 venne racchiuso in un pacchetto a sè; per tale motivo è stato creato OpenRC.
97 </p>
98
99 <p>
100 OpenRC è sviluppato principalmente da <uri
101 link="http://roy.marples.name/openrc">Roy Marples</uri> e supporta tutte le
102 attuali varianti di Gentoo (es. Gentoo Linux, Gentoo/FreeBSD, Gentoo Embedded, e
103 Gentoo Vserver) e altre piattaforme come FreeBSD e NetBSD.
104 </p>
105
106 </body>
107 </section>
108 </chapter>
109
110 <chapter>
111 <title>Migrazione a OpenRC</title>
112 <section>
113 <body>
114
115 <p>
116 La migrazione a OpenRC è piuttosto lineare; sarà introdotta come parte del
117 proprio processo di aggiornamento dal gestore dei pacchetti. Il passo più
118 importante attualmente avviene dopo l'installazione dei nuovi pacchetti
119 <c>>=sys-apps/baselayout-2</c> e <c>sys-apps/openrc</c>. È <e>fondamentale</e>
120 eseguire <c>dispatch-conf</c> e che <path>/etc</path> sia aggiornato prima di
121 riavviare. <brite>Un fallimento nel farlo produrrà un sistema non più
122 avviabile</brite> e richiederà l'uso del Gentoo LiveCD per effettuare i passaggi
123 seguenti per riparare il proprio sistema.
124 </p>
125
126 <p>
127 Una volta finito di aggiornare i propri file di configurazione, ci sono alcune
128 cose da verificare prima di riavviare.
129 </p>
130
131 </body>
132 </section>
133 <section id="rc_conf">
134 <title>/etc/conf.d/rc</title>
135 <body>
136
137 <p>
138 Il file <path>/etc/conf.d/rc</path> è stato deprecato e tutte le impostazioni
139 in esso contenute avranno bisogno di essere trasferite alle impostazioni
140 appropriate in <path>/etc/rc.conf</path>. Si prega di leggere interamente
141 <path>/etc/rc.conf</path> e <path>/etc/conf.d/rc</path> e migrare le
142 impostazioni. Una volta finito, cancellare <path>/etc/conf.d/rc</path>.
143 </p>
144
145 </body>
146 </section>
147 <section id="moduli">
148 <title>Moduli del Kernel</title>
149 <body>
150
151 <p>
152 Normalmente, quando si vuole che certi moduli del kernel siano caricati
153 all'avvio, li si mette in <path>/etc/modules.autoload.d/kernel-2.6</path>insieme
154 ad ogni parametro che gli si vuole passare. Nel baselayout-2, questo file non è
155 più utilizzato. Invece, i moduli caricati automaticamente e i loro parametri
156 sono situati in un file, <path>/etc/conf.d/modules</path>, qualsiasi sia la
157 versione del kernel.
158 </p>
159
160 <p>
161 Un esempio di configurazione vecchio stile sarebbe:
162 </p>
163
164 <pre caption="/etc/modules.autoload.d/kernel-2.6">
165 ivtv
166 cx88_dvb video_br=2
167 </pre>
168
169 <p>
170 Convertire l'esempio precedente risulterà nel seguente:
171 </p>
172
173 <pre caption="/etc/conf.d/modules">
174 <comment># Moduli caricati automaticamente all'avvio</comment>
175 modules_2_6="ivtv cx88_dvb"
176 <comment># Parametri dei Moduli</comment>
177 module_cx88_dvb_args_2_6="video_br=2"
178 </pre>
179
180 <p>
181 Negli esempi precedenti, i moduli e i loro parametri saranno passati soltanto
182 ai kernel della serie 2.6.x. La nuova configurazione permette un controllo più
183 preciso sui moduli e sui parametri basato sulla versione del kernel.
184 </p>
185
186 <p>
187 Un esempio approfondito sarà:
188 </p>
189
190 <pre caption="esempio dettagliato di /etc/conf.d/modules">
191 <comment># Carica sempre ochi1394 e ieee1394, per qualsiasi versione di kernel</comment>
192 modules="ohci1394 ieee1394"
193 <comment># Carica tun e usbserial solo per i kernel della serie 2.6.x</comment>
194 modules_2_6="tun usbserial"
195 <comment># Carica cx88_dvb solo per i kernel 2.6.23</comment>
196 modules_2_6_23="cx88_dvb"
197 <comment># Carica ivtv solo per il kernel 2.6.23-gentoo-r5</comment>
198 modules_2_6_23_gentoo_r5="ivtv"
199
200 <comment># Solo per il kernel 2.6.23-gentoo-r5, passa come argomento video_br=2
201 # a cx88_dvb</comment>
202 module_cx88_dvb_args_2_6_23_gentoo_r5="video_br=2"
203 <comment># Per i kernel della serie 2.6.x passa sempre vendor e product</comment>
204 module_usbserial_args_2_6="vendor=0x1410 product=0x2110"
205 <comment># Passa sempre debug a ieee1394</comment>
206 module_ieee1394_args="debug"
207 </pre>
208
209 <note>
210 Prego notare la differenza tra <b>module_</b> e <b>modules_</b>.
211 </note>
212
213 </body>
214 </section>
215 <section id="boot">
216 <title>Runlevel di Boot</title>
217 <body>
218
219 <p>
220 Il runlevel di <c>boot</c> esegue molti passi importanti per ogni macchina. Per
221 esempio, assicurarsi che il proprio filesystem root sia montato in
222 lettura/scrittura, che i propri filesystem siano controllati, che i propri
223 mountpoint siano disponibili, e che lo pseudo-filesystem <path>/proc</path> sia
224 avviato al boot.
225 </p>
226
227 <p>
228 Con OpenRC, i servizi di gestione del volume per i propri dispositivi a blocchi
229 non sono più avviati automaticamente al boot. Questo include lvm, raid, swap,
230 device-mapper (dm), dm-crypt, evms, e il like. Bisogna assicurarsi che
231 l'initscript appropriato per questi servizi nel runlevel di <c>boot</c>,
232 altrimenti sarà possibile che il proprio sistema non si avvii!
233 </p>
234
235 <p>
236 Sebbene l'ebuild di OpenRC provi a fare questa migrazione, si dovrà verificare
237 la corretta migrazione di tutti i servizi di gestione di volume:
238 </p>
239
240 <pre caption="Mostrare tutti i servizi nel runlevel boot">
241 # <i>ls -l /etc/runlevels/boot/</i>
242 </pre>
243
244 <p>
245 Se non si vede root, procfs, mtab, swap e fsck con il precedente comando,
246 effettuare le seguenti istruzioni per aggiungerli al runlevel <c>boot</c>:
247 </p>
248
249 <pre caption="Aggiungere servizi critici al runlevel boot">
250 # <i>rc-update add root boot</i>
251 # <i>rc-update add procfs boot</i>
252 # <i>rc-update add mtab boot</i>
253 # <i>rc-update add fsck boot</i>
254 # <i>rc-update add swap boot</i>
255 </pre>
256
257 <p>
258 Se si utilizza mdraid e lvm ma non li si vede sopra, si dovranno eseguire le
259 seguenti istruzioni per aggiungere gli initscript al runlevel <c>boot</c>:
260 </p>
261
262 <pre caption="Aggiungere raid e lvm al runlevel boot">
263 # <i>rc-update add raid boot</i>
264 # <i>rc-update add lvm boot</i>
265 </pre>
266
267 </body>
268 </section>
269 <section>
270 <title>Rete</title>
271 <body>
272
273 <p>
274 Siccome baselayout e OpenRC sono stati divisi in due pacchetti differenti, il
275 proprio initscript net.eth0 può scomparire durante il processo di aggiornamento.
276 Per sostituire questo initscript eseguire i seguenti comandi:
277 </p>
278
279 <pre caption="Riaggiungere lo script net.eth0 mancante">
280 # <i>cd /etc/init.d</i>
281 # <i>ln -s net.lo net.eth0</i>
282 </pre>
283
284 <p>
285 Se manca qualsiasi altro initscript di rete, seguire le istruzioni menzionate
286 sopra per riaggiungerlo. Semplicemente si sostituisca <c>eth0</c> con il nome
287 del proprio dispositivo di rete.
288 </p>
289
290 <p>
291 Inoltre, <path>/etc/conf.d/net</path> non utilizza più gli array stile bash per
292 la configurazione. Si prega di consultare
293 <path>/usr/share/doc/openrc/net.example</path> per le istruzioni di
294 configurazione. La conversione dovrebbe essere relativamente semplice, per
295 esempio un assegnamento statico di IP cambierà in questo modo:
296 </p>
297
298 <pre caption="Vecchio stile di /etc/conf.d/net">
299 config_eth0=( "192.168.1.37 netmask 255.255.255.0 brd 192.168.1.255" )
300 routes_eth0=( "default via 192.168.1.100" )
301 </pre>
302
303 <pre caption="Nuovo stile di /etc/conf.d/net">
304 config_eth0="192.168.1.37 netmask 255.255.255.0 brd 192.168.1.255"
305 routes_eth0="default via 192.168.1.100"
306 </pre>
307
308 </body>
309 </section>
310 <section>
311 <title>Orologio</title>
312 <body>
313
314 <p>
315 Le impostazioni dell'orologio sono state rinominate da
316 <path>/etc/conf.d/clock</path> al proprio strumento di impostazione di orologio
317 nativo di sistema. Questo significa che in Linux sarà
318 <path>/etc/conf.d/hwclock</path> e in FreeBSD sarà
319 <path>/etc/conf.d/adjkerntz</path>. L'initscript in <path>/etc/init.d/</path>
320 è anch'esso stato rinominato conseguentemente, quindi assicurarsi che sia nel
321 runlevel appropriato.
322 </p>
323
324 <p>
325 Inoltre, la variabile <c>TIMEZONE</c> non è più in questo file. I suoi contenuti
326 sono invece nel file <path>/etc/timezone</path>. Se non esiste, bisognerà
327 certamente crearlo con il proprio fuso orario (timezone). Si prega di
328 controllare entrambi questi file per assicurarsi della loro correttezza.
329 </p>
330
331 <p>
332 Il valore appropriato per questo file è il percorso relativo al proprio fuso
333 orario (timezone) a partire da <path>/usr/share/zoneinfo</path>. Per esempio,
334 per quelli che vivono nella costa orientale degli Stati Uniti, l'impostazione
335 corretta sarà:
336 </p>
337
338 <pre caption="/etc/timezone">
339 America/New_York
340 </pre>
341
342 </body>
343 </section>
344 <section>
345 <title>XSESSION</title>
346 <body>
347
348 <p>
349 La variabile XSESSION non si trova più in <path>/etc/rc.conf</path>. Il
350 pacchetto <c>x11-apps/xinit</c> ora fornisce <path>/etc/env.d/90xsession</path>,
351 che può essere usato per impostare la variabile XSESSION.
352 </p>
353
354 <p>
355 Questa variabile <b>NON</b> sarà migrata in modo predefinito, quindi bisognerà
356 modificare <path>/etc/env.d/90xsession</path>.
357 </p>
358
359 <impo>
360 Bisogna eseguire <c>env-update</c> dopo aver creato un file in
361 <path>/etc/env.d</path>, e successivamente effettuare il logout e poi il login
362 perché abbia effetto.
363 </impo>
364
365 </body>
366 </section>
367 <section>
368 <title>EDITOR / PAGER</title>
369 <body>
370
371 <p>
372 La variabile EDITOR non si trova più in <path>/etc/rc.conf</path>. Sia EDITOR
373 che PAGER sono impostati in modo predefinito in /etc/profile. Se necessario si
374 dovrebbero cambiare tali variabili nel proprio file <path>~/.bashrc</path> (o
375 equivalente) o creare <path>/etc/env.d/99editor</path> e impostare
376 l'impostazione predefinita del sistema in esso.
377 </p>
378
379 <impo>
380 Bisogna eseguire <c>env-update</c> dopo aver creato un file in
381 <path>/etc/env.d</path>, e successivamente effettuare il logout e poi il login
382 perché abbia effetto. Se si è impostato la variabile in <path>~/.bashrc</path>,
383 si può rifare il source del file con <c>source ~/.bashrc</c>.
384 </impo>
385
386 </body>
387 </section>
388 <section>
389 <title>Finalizzare</title>
390 <body>
391
392 <p>
393 Una volta terminato e aggiornato i propri file di configurazione e gli
394 initscript, l'ultima cosa da fare è <b>riavviare</b>. Questo è necessario perchè
395 le informazioni di stato del sistema non sono preservate durante
396 l'aggiornamento, quindi bisognerà fornirle con un nuovo riavvio.
397 </p>
398
399 </body>
400 </section>
401 </chapter>
402 </guide>
403
404
405
406 --
407 gentoo-commits@l.g.o mailing list