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