Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso...
[linux-2.6-microblaze.git] / Documentation / translations / it_IT / process / changes.rst
1 .. include:: ../disclaimer-ita.rst
2
3 :Original: :ref:`Documentation/process/changes.rst <changes>`
4 :Translator: Federico Vaga <federico.vaga@vaga.pv.it>
5
6 .. _it_changes:
7
8 Requisiti minimi per compilare il kernel
9 ++++++++++++++++++++++++++++++++++++++++
10
11 Introduzione
12 ============
13
14 Questo documento fornisce una lista dei software necessari per eseguire i
15 kernel 4.x.
16
17 Questo documento è basato sul file "Changes" del kernel 2.0.x e quindi le
18 persone che lo scrissero meritano credito (Jared Mauch, Axel Boldt,
19 Alessandro Sigala, e tanti altri nella rete).
20
21 Requisiti minimi correnti
22 *************************
23
24 Prima di pensare d'avere trovato un baco, aggiornate i seguenti programmi
25 **almeno** alla versione indicata!  Se non siete certi della versione che state
26 usando, il comando indicato dovrebbe dirvelo.
27
28 Questa lista presume che abbiate già un kernel Linux funzionante.  In aggiunta,
29 non tutti gli strumenti sono necessari ovunque; ovviamente, se non avete una
30 PC Card, per esempio, probabilmente non dovreste preoccuparvi di pcmciautils.
31
32 ====================== =================  ========================================
33         Programma       Versione minima       Comando per verificare la versione
34 ====================== =================  ========================================
35 GNU C                  4.9                gcc --version
36 Clang/LLVM (optional)  10.0.1             clang --version
37 GNU make               3.81               make --version
38 binutils               2.23               ld -v
39 flex                   2.5.35             flex --version
40 bison                  2.0                bison --version
41 util-linux             2.10o              fdformat --version
42 kmod                   13                 depmod -V
43 e2fsprogs              1.41.4             e2fsck -V
44 jfsutils               1.1.3              fsck.jfs -V
45 reiserfsprogs          3.6.3              reiserfsck -V
46 xfsprogs               2.6.0              xfs_db -V
47 squashfs-tools         4.0                mksquashfs -version
48 btrfs-progs            0.18               btrfsck
49 pcmciautils            004                pccardctl -V
50 quota-tools            3.09               quota -V
51 PPP                    2.4.0              pppd --version
52 nfs-utils              1.0.5              showmount --version
53 procps                 3.2.0              ps --version
54 oprofile               0.9                oprofiled --version
55 udev                   081                udevd --version
56 grub                   0.93               grub --version || grub-install --version
57 mcelog                 0.6                mcelog --version
58 iptables               1.4.2              iptables -V
59 openssl & libcrypto    1.0.0              openssl version
60 bc                     1.06.95            bc --version
61 Sphinx\ [#f1]_         1.3                sphinx-build --version
62 ====================== =================  ========================================
63
64 .. [#f1] Sphinx è necessario solo per produrre la documentazione del Kernel
65
66 Compilazione del kernel
67 ***********************
68
69 GCC
70 ---
71
72 La versione necessaria di gcc potrebbe variare a seconda del tipo di CPU nel
73 vostro calcolatore.
74
75 Clang/LLVM (opzionale)
76 ----------------------
77
78 L'ultima versione di clang e *LLVM utils* (secondo `releases.llvm.org
79 <https://releases.llvm.org>`_) sono supportati per la generazione del
80 kernel. Non garantiamo che anche i rilasci più vecchi funzionino, inoltre
81 potremmo rimuovere gli espedienti che abbiamo implementato per farli
82 funzionare. Per maggiori informazioni
83 :ref:`Building Linux with Clang/LLVM <kbuild_llvm>`.
84
85 Make
86 ----
87
88 Per compilare il kernel vi servirà GNU make 3.81 o successivo.
89
90 Binutils
91 --------
92
93 Per generare il kernel è necessario avere Binutils 2.23 o superiore.
94
95 pkg-config
96 ----------
97
98 Il sistema di compilazione, dalla versione 4.18, richiede pkg-config per
99 verificare l'esistenza degli strumenti kconfig e per determinare le
100 impostazioni da usare in 'make {g,x}config'.  Precedentemente pkg-config
101 veniva usato ma non verificato o documentato.
102
103 Flex
104 ----
105
106 Dalla versione 4.16, il sistema di compilazione, durante l'esecuzione, genera
107 un analizzatore lessicale.  Questo richiede flex 2.5.35 o successivo.
108
109 Bison
110 -----
111
112 Dalla versione 4.16, il sistema di compilazione, durante l'esecuzione, genera
113 un parsificatore.  Questo richiede bison 2.0 o successivo.
114
115 Perl
116 ----
117
118 Per compilare il kernel vi servirà perl 5 e i seguenti moduli ``Getopt::Long``,
119 ``Getopt::Std``, ``File::Basename``, e ``File::Find``.
120
121 BC
122 --
123
124 Vi servirà bc per compilare i kernel dal 3.10 in poi.
125
126 OpenSSL
127 -------
128
129 Il programma OpenSSL e la libreria crypto vengono usati per la firma dei moduli
130 e la gestione dei certificati; sono usati per la creazione della chiave e
131 la generazione della firma.
132
133 Se la firma dei moduli è abilitata, allora vi servirà openssl per compilare il
134 kernel 3.7 e successivi.  Vi serviranno anche i pacchetti di sviluppo di
135 openssl per compilare il kernel 4.3 o successivi.
136
137
138 Strumenti di sistema
139 ********************
140
141 Modifiche architetturali
142 ------------------------
143
144 DevFS è stato reso obsoleto da udev
145 (http://www.kernel.org/pub/linux/utils/kernel/hotplug/)
146
147 Il supporto per UID a 32-bit è ora disponibile.  Divertitevi!
148
149 La documentazione delle funzioni in Linux è una fase di transizione
150 verso una documentazione integrata nei sorgenti stessi usando dei commenti
151 formattati in modo speciale e posizionati vicino alle funzioni che descrivono.
152 Al fine di arricchire la documentazione, questi commenti possono essere
153 combinati con i file ReST presenti in Documentation/; questi potranno
154 poi essere convertiti in formato PostScript, HTML, LaTex, ePUB o PDF.
155 Per convertire i documenti da ReST al formato che volete, avete bisogno di
156 Sphinx.
157
158 Util-linux
159 ----------
160
161 Le versioni più recenti di util-linux: forniscono il supporto a ``fdisk`` per
162 dischi di grandi dimensioni; supportano le nuove opzioni di mount; riconoscono
163 più tipi di partizioni; hanno un fdformat che funziona con i kernel 2.4;
164 e altre chicche.  Probabilmente vorrete aggiornarlo.
165
166 Ksymoops
167 --------
168
169 Se l'impensabile succede e il kernel va in oops, potrebbe servirvi lo strumento
170 ksymoops per decodificarlo, ma nella maggior parte dei casi non vi servirà.
171 Generalmente è preferibile compilare il kernel con l'opzione ``CONFIG_KALLSYMS``
172 cosicché venga prodotto un output più leggibile che può essere usato così com'è
173 (produce anche un output migliore di ksymoops).  Se per qualche motivo il
174 vostro kernel non è stato compilato con ``CONFIG_KALLSYMS`` e non avete modo di
175 ricompilarlo e riprodurre l'oops con quell'opzione abilitata, allora potete
176 usare ksymoops per decodificare l'oops.
177
178 Mkinitrd
179 --------
180
181 I cambiamenti della struttura in ``/lib/modules`` necessita l'aggiornamento di
182 mkinitrd.
183
184 E2fsprogs
185 ---------
186
187 L'ultima versione di ``e2fsprogs`` corregge diversi bachi in fsck e debugfs.
188 Ovviamente, aggiornarlo è una buona idea.
189
190 JFSutils
191 --------
192
193 Il pacchetto ``jfsutils`` contiene programmi per il file-system JFS.
194 Sono disponibili i seguenti strumenti:
195
196 - ``fsck.jfs`` - avvia la ripetizione del log delle transizioni, e verifica e
197   ripara una partizione formattata secondo JFS
198
199 - ``mkfs.jfs`` - crea una partizione formattata secondo JFS
200
201 - sono disponibili altri strumenti per il file-system.
202
203 Reiserfsprogs
204 -------------
205
206 Il pacchetto reiserfsprogs dovrebbe essere usato con reiserfs-3.6.x (Linux
207 kernel 2.4.x).  Questo è un pacchetto combinato che contiene versioni
208 funzionanti di ``mkreiserfs``, ``resize_reiserfs``, ``debugreiserfs`` e
209 ``reiserfsck``.  Questi programmi funzionano sulle piattaforme i386 e alpha.
210
211 Xfsprogs
212 --------
213
214 L'ultima versione di ``xfsprogs`` contiene, fra i tanti, i programmi
215 ``mkfs.xfs``, ``xfs_db`` e ``xfs_repair`` per il file-system XFS.
216 Dipendono dell'architettura e qualsiasi versione dalla 2.0.0 in poi
217 dovrebbe funzionare correttamente con la versione corrente del codice
218 XFS nel kernel (sono raccomandate le versioni 2.6.0 o successive per via
219 di importanti miglioramenti).
220
221 PCMCIAutils
222 -----------
223
224 PCMCIAutils sostituisce ``pcmica-cs``.  Serve ad impostare correttamente i
225 connettori PCMCIA all'avvio del sistema e a caricare i moduli necessari per
226 i dispositivi a 16-bit se il kernel è stato modularizzato e il sottosistema
227 hotplug è in uso.
228
229 Quota-tools
230 -----------
231
232 Il supporto per uid e gid a 32 bit richiedono l'uso della versione 2 del
233 formato quota.  La versione 3.07 e successive di quota-tools supportano
234 questo formato.  Usate la versione raccomandata nella lista qui sopra o una
235 successiva.
236
237 Micro codice per Intel IA32
238 ---------------------------
239
240 Per poter aggiornare il micro codice per Intel IA32, è stato aggiunto un
241 apposito driver; il driver è accessibile come un normale dispositivo a
242 caratteri (misc).  Se non state usando udev probabilmente sarà necessario
243 eseguire i seguenti comandi come root prima di poterlo aggiornare::
244
245   mkdir /dev/cpu
246   mknod /dev/cpu/microcode c 10 184
247   chmod 0644 /dev/cpu/microcode
248
249 Probabilmente, vorrete anche il programma microcode_ctl da usare con questo
250 dispositivo.
251
252 udev
253 ----
254
255 ``udev`` è un programma in spazio utente il cui scopo è quello di popolare
256 dinamicamente la cartella ``/dev`` coi dispositivi effettivamente presenti.
257 ``udev`` sostituisce le funzionalità base di devfs, consentendo comunque
258 nomi persistenti per i dispositivi.
259
260 FUSE
261 ----
262
263 Serve libfuse 2.4.0 o successiva.  Il requisito minimo assoluto è 2.3.0 ma
264 le opzioni di mount ``direct_io`` e ``kernel_cache`` non funzioneranno.
265
266
267 Rete
268 ****
269
270 Cambiamenti generali
271 --------------------
272
273 Se per quanto riguarda la configurazione di rete avete esigenze di un certo
274 livello dovreste prendere in considerazione l'uso degli strumenti in ip-route2.
275
276 Filtro dei pacchetti / NAT
277 --------------------------
278
279 Il codice per filtraggio dei pacchetti e il NAT fanno uso degli stessi
280 strumenti come nelle versioni del kernel antecedenti la 2.4.x (iptables).
281 Include ancora moduli di compatibilità per 2.2.x ipchains e 2.0.x ipdwadm.
282
283 PPP
284 ---
285
286 Il driver per PPP è stato ristrutturato per supportare collegamenti multipli e
287 per funzionare su diversi livelli.  Se usate PPP, aggiornate pppd almeno alla
288 versione 2.4.0.
289
290 Se non usate udev, dovete avere un file /dev/ppp che può essere creato da root
291 col seguente comando::
292
293   mknod /dev/ppp c 108 0
294
295
296 NFS-utils
297 ---------
298
299 Nei kernel più antichi (2.4 e precedenti), il server NFS doveva essere
300 informato sui clienti ai quali si voleva fornire accesso via NFS.  Questa
301 informazione veniva passata al kernel quando un cliente montava un file-system
302 mediante ``mountd``, oppure usando ``exportfs`` all'avvio del sistema.
303 exportfs prende le informazioni circa i clienti attivi da ``/var/lib/nfs/rmtab``.
304
305 Questo approccio è piuttosto delicato perché dipende dalla correttezza di
306 rmtab, che non è facile da garantire, in particolare quando si cerca di
307 implementare un *failover*.  Anche quando il sistema funziona bene, ``rmtab``
308 ha il problema di accumulare vecchie voci inutilizzate.
309
310 Sui kernel più recenti il kernel ha la possibilità di informare mountd quando
311 arriva una richiesta da una macchina sconosciuta, e mountd può dare al kernel
312 le informazioni corrette per l'esportazione.  Questo rimuove la dipendenza con
313 ``rmtab`` e significa che il kernel deve essere al corrente solo dei clienti
314 attivi.
315
316 Per attivare questa funzionalità, dovete eseguire il seguente comando prima di
317 usare exportfs o mountd::
318
319   mount -t nfsd nfsd /proc/fs/nfsd
320
321 Dove possibile, raccomandiamo di proteggere tutti i servizi NFS dall'accesso
322 via internet mediante un firewall.
323
324 mcelog
325 ------
326
327 Quando ``CONFIG_x86_MCE`` è attivo, il programma mcelog processa e registra
328 gli eventi *machine check*.  Gli eventi *machine check* sono errori riportati
329 dalla CPU.  Incoraggiamo l'analisi di questi errori.
330
331
332 Documentazione del kernel
333 *************************
334
335 Sphinx
336 ------
337
338 Per i dettaglio sui requisiti di Sphinx, fate riferimento a :ref:`it_sphinx_install`
339 in :ref:`Documentation/translations/it_IT/doc-guide/sphinx.rst <it_sphinxdoc>`
340
341 Ottenere software aggiornato
342 ============================
343
344 Compilazione del kernel
345 ***********************
346
347 gcc
348 ---
349
350 - <ftp://ftp.gnu.org/gnu/gcc/>
351
352 Clang/LLVM
353 ----------
354
355 - :ref:`Getting LLVM <getting_llvm>`.
356
357 Make
358 ----
359
360 - <ftp://ftp.gnu.org/gnu/make/>
361
362 Binutils
363 --------
364
365 - <https://www.kernel.org/pub/linux/devel/binutils/>
366
367 Flex
368 ----
369
370 - <https://github.com/westes/flex/releases>
371
372 Bison
373 -----
374
375 - <ftp://ftp.gnu.org/gnu/bison/>
376
377 OpenSSL
378 -------
379
380 - <https://www.openssl.org/>
381
382 Strumenti di sistema
383 ********************
384
385 Util-linux
386 ----------
387
388 - <https://www.kernel.org/pub/linux/utils/util-linux/>
389
390 Kmod
391 ----
392
393 - <https://www.kernel.org/pub/linux/utils/kernel/kmod/>
394 - <https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git>
395
396 Ksymoops
397 --------
398
399 - <https://www.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
400
401 Mkinitrd
402 --------
403
404 - <https://code.launchpad.net/initrd-tools/main>
405
406 E2fsprogs
407 ---------
408
409 - <https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/>
410 - <https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/>
411
412 JFSutils
413 --------
414
415 - <http://jfs.sourceforge.net/>
416
417 Reiserfsprogs
418 -------------
419
420 - <https://git.kernel.org/pub/scm/linux/kernel/git/jeffm/reiserfsprogs.git/>
421
422 Xfsprogs
423 --------
424
425 - <https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git>
426 - <https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/>
427
428 Pcmciautils
429 -----------
430
431 - <https://www.kernel.org/pub/linux/utils/kernel/pcmcia/>
432
433 Quota-tools
434 -----------
435
436 - <http://sourceforge.net/projects/linuxquota/>
437
438
439 Microcodice Intel P6
440 --------------------
441
442 - <https://downloadcenter.intel.com/>
443
444 udev
445 ----
446
447 - <http://www.freedesktop.org/software/systemd/man/udev.html>
448
449 FUSE
450 ----
451
452 - <https://github.com/libfuse/libfuse/releases>
453
454 mcelog
455 ------
456
457 - <http://www.mcelog.org/>
458
459 Rete
460 ****
461
462 PPP
463 ---
464
465 - <https://download.samba.org/pub/ppp/>
466 - <https://git.ozlabs.org/?p=ppp.git>
467 - <https://github.com/paulusmack/ppp/>
468
469
470 NFS-utils
471 ---------
472
473 - <http://sourceforge.net/project/showfiles.php?group_id=14>
474
475 Iptables
476 --------
477
478 - <https://netfilter.org/projects/iptables/index.html>
479
480 Ip-route2
481 ---------
482
483 - <https://www.kernel.org/pub/linux/utils/net/iproute2/>
484
485 OProfile
486 --------
487
488 - <http://oprofile.sf.net/download/>
489
490 NFS-Utils
491 ---------
492
493 - <http://nfs.sourceforge.net/>
494
495 Documentazione del kernel
496 *************************
497
498 Sphinx
499 ------
500
501 - <http://www.sphinx-doc.org/>