Your IP : 216.73.216.81


Current Path : /proc/thread-self/root/usr/share/debian-reference/
Upload File :
Current File : //proc/thread-self/root/usr/share/debian-reference/ch03.it.html

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Capitolo 3. Inizializzazione del sistema</title>
    <link rel="stylesheet" type="text/css" href="debian-reference.css"/>
    <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <link rel="home" href="index.it.html" title="Debian Reference"/>
    <link rel="up" href="index.it.html" title="Debian Reference"/>
    <link rel="prev" href="ch02.it.html" title="Capitolo 2. Gestione dei pacchetti in Debian"/>
    <link rel="next" href="ch04.it.html" title="Capitolo 4. Autenticazione e controllo degli accessi"/>
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Capitolo 3. Inizializzazione del sistema</th>
        </tr>
        <tr>
          <td align="left"><a accesskey="p" href="ch02.it.html"><img src="images/prev.png" alt="Indietro"/></a> </td>
          <th width="60%" align="center"> </th>
          <td align="right"> <a accesskey="n" href="ch04.it.html"><img src="images/next.png" alt="Avanti"/></a></td>
        </tr>
      </table>
      <hr/>
    </div>
    <div class="chapter">
      <div class="titlepage">
        <div>
          <div>
            <h1 class="title"><a id="_the_system_initialization"/>Capitolo 3. Inizializzazione del sistema</h1>
          </div>
        </div>
      </div>
      <div class="toc">
        <p>
          <strong>Indice</strong>
        </p>
        <dl class="toc">
          <dt>
            <span class="section">
              <a href="ch03.it.html#_an_overview_of_the_boot_strap_process">3.1. Panoramica del processo di avvio</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="section">
                  <a href="ch03.it.html#_stage_1_the_uefi">3.1.1. Stadio 1: l'UEFI</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch03.it.html#_stage_2_the_boot_loader">3.1.2. Stadio 2: il bootloader</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch03.it.html#_stage_3_the_mini_debian_system">3.1.3. Stadio 3: il mini-sistema Debian</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch03.it.html#_stage_4_the_normal_debian_system">3.1.4. Stadio 4: il normale sistema Debian</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="section">
              <a href="ch03.it.html#_systemd_init">3.2. Init systemd</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="section">
                  <a href="ch03.it.html#_the_hostname">3.2.1. Il nome host</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch03.it.html#_the_filesystem">3.2.2. Il filesystem</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch03.it.html#_network_interface_initialization">3.2.3. Inizializzazione delle interfacce di rete</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="section">
              <a href="ch03.it.html#_the_kernel_message">3.3. I messaggi del kernel</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="ch03.it.html#_the_system_message">3.4. I messaggi di sistema</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="ch03.it.html#_system_management_operations">3.5. Gestione del sistema</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="ch03.it.html#_other_system_monitors">3.6. Altri strumenti di monitoraggio del sistema</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="ch03.it.html#_customizing_systemd">3.7. Personalizzare systemd</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="section">
                  <a href="ch03.it.html#_socket_activation">3.7.1. Attivazione di socket</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="section">
              <a href="ch03.it.html#_the_udev_system">3.8. Il sistema udev</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="section">
                  <a href="ch03.it.html#_the_kernel_module_initialization">3.8.1. L'inizializzazione dei moduli del kernel</a>
                </span>
              </dt>
            </dl>
          </dd>
        </dl>
      </div>
      <p>È bene che l'amministratore di sistema conosca almeno a grandi linee come
viene avviato e configurato il sistema Debian. Anche se i dettagli precisi
sono nei file sorgenti dei pacchetti installati e nella loro documentazione,
essi sono un po' troppo per la maggior parte degli utenti.</p>
      <p>Ecco una panoramica di base dei punti principali dell'inizializzazione di un
sistema Debian. Dato che un sistema Debian è in costante evoluzione, si
dovrebbe far riferimento alla documentazione più recente.</p>
      <div class="itemizedlist">
        <ul class="itemizedlist">
          <li class="listitem">
            <p> <a class="ulink" href="https://kernel-team.pages.debian.net/kernel-handbook/index.html">Debian Linux Kernel
Handbook</a> è la fonte principale di informazioni sul kernel Debian.</p>
          </li>
          <li class="listitem">
            <p> <code class="literal">bootup</code>(7) descrive il processo di avvio del sistema
basato su <code class="literal">systemd</code> (Debian recenti).</p>
          </li>
          <li class="listitem">
            <p> <code class="literal">boot</code>(7) descrive il processo di avvio del sistema basato
su UNIX System V Release 4 (Debian più vecchie).</p>
          </li>
        </ul>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_an_overview_of_the_boot_strap_process"/>3.1. Panoramica del processo di avvio</h2>
            </div>
          </div>
        </div>
        <p>Il sistema del computer passa attraverso varie fasi del <a class="ulink" href="https://it.wikipedia.org/wiki/Boot">processo di avvio</a>, dall'accensione a
quando offre all'utente il sistema operativo (SO) pienamente funzionante.</p>
        <p>Per semplicità la spiegazione è limitata alla piattaforma PC tipica con
l'installazione standard.</p>
        <p>Il normale processo di avvio è come un razzo a quattro stadi. Ogni stadio
del razzo passa il controllo del sistema allo stadio successivo.</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p> <a class="xref" href="ch03.it.html#_stage_1_the_uefi" title="3.1.1. Stadio 1: l'UEFI">Sezione 3.1.1, «Stadio 1: l'UEFI»</a> </p>
            </li>
            <li class="listitem">
              <p> <a class="xref" href="ch03.it.html#_stage_2_the_boot_loader" title="3.1.2. Stadio 2: il bootloader">Sezione 3.1.2, «Stadio 2: il bootloader»</a> </p>
            </li>
            <li class="listitem">
              <p> <a class="xref" href="ch03.it.html#_stage_3_the_mini_debian_system" title="3.1.3. Stadio 3: il mini-sistema Debian">Sezione 3.1.3, «Stadio 3: il mini-sistema Debian»</a> </p>
            </li>
            <li class="listitem">
              <p> <a class="xref" href="ch03.it.html#_stage_4_the_normal_debian_system" title="3.1.4. Stadio 4: il normale sistema Debian">Sezione 3.1.4, «Stadio 4: il normale sistema Debian»</a> </p>
            </li>
          </ul>
        </div>
        <p>Naturalmente questo può essere configurato in modo diverso. Per esempio, se
è stato compilato un kernel personalizzato, si potrebbe saltare la fase con
il mini-sistema Debian. Non dare per scontato che quanto detto valga per il
proprio sistema fino a che non si abbia controllato direttamente.</p>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_stage_1_the_uefi"/>3.1.1. Stadio 1: l'UEFI</h3>
              </div>
            </div>
          </div>
          <p>La <a class="ulink" href="https://it.wikipedia.org/wiki/UEFI">Unified Extensible
Firmware Interface (UEFI)</a> definisce un gestore di avvio come parte
della specifica UEFI. Quando un computer viene acceso, il gestore dell'avvio
è il primo stadio del processo di avvio che controlla la configurazione di
avvio e, in base alle sue impostazioni, esegue poi il boot loader del
sistema operativo specificato o il kernel del sistema operativo (solitamente
il boot loader). La configurazione di avvio è definita dalle variabili
memorizzate nella NVRAM, incluse variabili che indicano i percorsi del file
system dei caricatori dei SO o dei kernel dei SO. Una <a class="ulink" href="https://en.wikipedia.org/wiki/EFI_system_partition">partizione di sistema EFI (ESP, EFI System
Partition)</a> è una partizione di dispositivo per archiviazione di dati
che è utilizzata nei computer che sono conformi alla specifica UEFI. Il
firmware UEFI accede ad essa quando un computer viene acceso, essa memorizza
le applicazioni UEFI e i file che tali applicazioni devono eseguire, inclusi
i boot loader dei sistemi operativi. (Nei sistemi PC vecchi può essere
invece utilizzato il <a class="ulink" href="https://it.wikipedia.org/wiki/Bios">BIOS</a> memorizzato nella
<a class="ulink" href="https://it.wikipedia.org/wiki/Master_boot_record">MBR</a>.)</p>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_stage_2_the_boot_loader"/>3.1.2. Stadio 2: il bootloader</h3>
              </div>
            </div>
          </div>
          <p>Il <a class="ulink" href="https://it.wikipedia.org/wiki/Boot_loader">bootloader</a> è il secondo stadio del
processo di avvio che è iniziato dall'UEFI. Carica l'immagine kernel del
sistema e l'immagine <a class="ulink" href="https://it.wikipedia.org/wiki/Initrd">initrd</a> in memoria e passa
il controllo ad esse. L'immagine initrd è l'immagine del file system radice
ed il suo supporto dipende dal bootloader usato.</p>
          <p>Il sistema Debian normalmente usa il kernel Linux xome kernel di sistema
predefinito. L'immagine initrd per l'attuale kernel Linux 5.x è tecnicamente
l'immagine <a class="ulink" href="https://wiki.debian.org/initramfs">initramfs</a> (Initial RAM
filesystem, file system RAM iniziale).</p>
          <p>Sono disponibili molti bootloader e opzioni di configurazione.</p>
          <div class="table">
            <a id="listofbootloaders"/>
            <p class="title">
              <strong>Tabella 3.1. Elenco di bootloader</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Elenco di bootloader" border="1">
                <colgroup>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                </colgroup>
                <thead>
                  <tr>
                    <th style="text-align: left"> pacchetto </th>
                    <th style="text-align: left"> popcon </th>
                    <th style="text-align: left"> dimensione </th>
                    <th style="text-align: left"> initrd </th>
                    <th style="text-align: left"> bootloader </th>
                    <th style="text-align: left"> descrizione </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/grub-efi-amd64"> grub-efi-amd64
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=grub-efi-amd64">I:261</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/g/grub-efi-amd64.html">159</a>
                    </td>
                    <td style="text-align: left"> Supportato </td>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/GRUB">GRUB UEFI</a> </td>
                    <td style="text-align: left"> Intelligente abbastanza da capire partizioni su disco e file system come
vfat, ext4, ... (UEFI) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/grub-pc"> grub-pc </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=grub-pc">V:23, I:708</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/g/grub-pc.html">534</a>
                    </td>
                    <td style="text-align: left"> Supportato </td>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/GRUB">GRUB 2</a> </td>
                    <td style="text-align: left"> Intelligente abbastanza da capire partizioni su disco e file system come
vfat, ext4, ... (BIOS) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/grub-rescue-pc"> grub-rescue-pc
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=grub-rescue-pc">V:0, I:1</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/g/grub-rescue-pc.html">6422</a>
                    </td>
                    <td style="text-align: left"> Supportato </td>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/GRUB">GRUB 2</a> </td>
                    <td style="text-align: left"> È l'immagine di ripristino avviabile di GRUB 2 (CD e floppy) (versione
PC/BIOS) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/lilo"> lilo </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=lilo">V:0, I:1</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/l/lilo.html">697</a>
                    </td>
                    <td style="text-align: left"> Supportato </td>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/LILO">Lilo</a> </td>
                    <td style="text-align: left"> Si basa sulla posizione dei settori dei dati sul disco fisso. (Vecchio) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/syslinux"> syslinux </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=syslinux">V:3, I:41</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/s/syslinux.html">344</a>
                    </td>
                    <td style="text-align: left"> Supportato </td>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/SYSLINUX">Isolinux</a> </td>
                    <td style="text-align: left"> Capisce il filesystem ISO 9660. Usato dal CD di avvio.  </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/syslinux"> syslinux </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=syslinux">V:3, I:41</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/s/syslinux.html">344</a>
                    </td>
                    <td style="text-align: left"> Supportato </td>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/SYSLINUX">Syslinux</a> </td>
                    <td style="text-align: left"> Capisce il <a class="ulink" href="https://it.wikipedia.org/wiki/File_Allocation_Table">filesystem MSDOS
(FAT)</a>. Usato dai dischetti floppy di avvio.  </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/loadlin"> loadlin </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=loadlin">V:0, I:0</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/l/loadlin.html">90</a>
                    </td>
                    <td style="text-align: left"> Supportato </td>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/Loadlin">Loadlin</a> </td>
                    <td style="text-align: left"> Il nuovo sistema viene avviato dal sistema FreeDOS/MSDOS.  </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/mbr"> mbr </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=mbr">V:0, I:5</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/m/mbr.html">50</a>
                    </td>
                    <td style="text-align: left"> Non supportato </td>
                    <td style="text-align: left"> <a class="ulink" href="http://www.chiark.greenend.org.uk/~neilt/">MBR di Neil Turton</a> </td>
                    <td style="text-align: left"> Software libero che sostituisce <a class="ulink" href="https://it.wikipedia.org/wiki/Master_boot_record">MBR</a>
MSDOS. Capisce solo le partizioni su disco.  </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <br class="table-break"/>
          <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
            <table border="0" summary="Warning">
              <tr>
                <td rowspan="2" align="center" valign="top">
                  <img alt="[Avvertimento]" src="images/warning.png"/>
                </td>
                <th align="left">Avvertimento</th>
              </tr>
              <tr>
                <td align="left" valign="top">
                  <p>Non mettere mano ai bootloader senza aver creato supporti avviabili di
ripristino (chiavette USB, CD o floppy) create da immagini nel pacchetto
<code class="literal">grub-rescue-pc</code>. Questo permette di avviare il sistema
anche senza un bootloader funzionante sul disco fisso.</p>
                </td>
              </tr>
            </table>
          </div>
          <p>Per i sistemi UEFI, GRUB2 prima legge la partizione ESP e usa l'UUID
specificato per <code class="literal">search.fs_uuid</code> in
"<code class="literal">/boot/efi/EFI/debian/grub.cfg</code>" per determinare la
partizione del file di configurazione del menu di GRUB2
"<code class="literal">/boot/grub/grub.cfg</code>". </p>
          <p>La parte della chiave del file di configurazione del menu di GRUB2 è simile
a:</p>
          <pre class="screen">menuentry 'Debian GNU/Linux' ... {
        load_video
        insmod gzio
        insmod part_gpt
        insmod ext2
        search --no-floppy --fs-uuid --set=root fe3e1db5-6454-46d6-a14c-071208ebe4b1
        echo    'Loading Linux 5.10.0-6-amd64 ...'
        linux   /boot/vmlinuz-5.10.0-6-amd64 root=UUID=fe3e1db5-6454-46d6-a14c-071208ebe4b1 ro quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-5.10.0-6-amd64
}</pre>
          <p>Per questa porzione di <code class="literal">/boot/grub/grub.cfg</code>, questa voce
di menu significa quanto segue.</p>
          <div class="table">
            <a id="themeaningofthemfbootgrubgrubcfg"/>
            <p class="title">
              <strong>Tabella 3.2. Il significato della voce di menu della porzione soprastante di
<code class="literal">/boot/grub/grub.cfg</code></strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Il significato della voce di menu della porzione soprastante di&#10;/boot/grub/grub.cfg" border="1">
                <colgroup>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                </colgroup>
                <thead>
                  <tr>
                    <th style="text-align: left"> impostazione </th>
                    <th style="text-align: left"> valore </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left"> moduli GRUB2 caricati </td>
                    <td style="text-align: left"> <code class="literal">gzio</code>, <code class="literal">part_gpt</code>,
<code class="literal">ext2</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> partizione per file system radice utilizzata </td>
                    <td style="text-align: left"> partizione identificata come
<code class="literal">UUID=fe3e1db5-6454-46d6-a14c-071208ebe4b1</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> percorso dell'immagine del kernel nel file system radice </td>
                    <td style="text-align: left"> <code class="literal">/boot/vmlinuz-5.10.0-6-amd64</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> parametri di avvio del kernel utilizzati </td>
                    <td style="text-align: left"> "<code class="literal">root=UUID=fe3e1db5-6454-46d6-a14c-071208ebe4b1 ro quiet</code>" </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> percorso dell'immagine initrd nel file system radice </td>
                    <td style="text-align: left"> <code class="literal">/boot/initrd.img-5.10.0-6-amd64</code> </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <br class="table-break"/>
          <div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
            <table border="0" summary="Tip">
              <tr>
                <td rowspan="2" align="center" valign="top">
                  <img alt="[Suggerimento]" src="images/tip.png"/>
                </td>
                <th align="left">Suggerimento</th>
              </tr>
              <tr>
                <td align="left" valign="top">
                  <p>si può abilitare la visualizzazione dei messaggi del log di avvio del kernel
rimuovendo <code class="literal">quiet</code> in
"<code class="literal">/boot/grub/grub.cfg</code>". Per fare la modifica in modo
persistente, modificare la riga
"<code class="literal">GRUB_CMDLINE_LINUX_DEFAULT="quiet"</code>" in
"<code class="literal">/etc/default/grub</code>". </p>
                </td>
              </tr>
            </table>
          </div>
          <div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
            <table border="0" summary="Tip">
              <tr>
                <td rowspan="2" align="center" valign="top">
                  <img alt="[Suggerimento]" src="images/tip.png"/>
                </td>
                <th align="left">Suggerimento</th>
              </tr>
              <tr>
                <td align="left" valign="top">
                  <p>Si può personalizzare la schermata grafica di GRUB impostando la variabile
<code class="literal">GRUB_BACKGROUND</code> in "<code class="literal">/etc/default/grub</code>"
in modo che punti al file dell'immagine o mettendo l'immagine stessa in
"<code class="literal">/boot/grub/</code>". </p>
                </td>
              </tr>
            </table>
          </div>
          <p>Vedere "<code class="literal">info grub</code>" e <code class="literal">grub-install</code>(8).</p>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_stage_3_the_mini_debian_system"/>3.1.3. Stadio 3: il mini-sistema Debian</h3>
              </div>
            </div>
          </div>
          <p>Il mini-sistema Debian è il terzo stadio del processo di avvio che viene
iniziato dal bootloader. Esegue il kernel del sistema con il suo filesystem
root in memoria. Questo è uno stadio opzionale preparatorio del processo di
avvio.</p>
          <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
            <table border="0" summary="Note">
              <tr>
                <td rowspan="2" align="center" valign="top">
                  <img alt="[Nota]" src="images/note.png"/>
                </td>
                <th align="left">Nota</th>
              </tr>
              <tr>
                <td align="left" valign="top">
                  <p>L'espressione "sistema Debian mini" è stata coniata per descrivere il terzo
stadio del processo di avvio in questo documento. Normalmente ci si
riferisce a questo sistema come sistema <a class="ulink" href="https://it.wikipedia.org/wiki/Initrd">initrd</a>
o initramfs. Un sistema simile in memoria è usato dall'<a class="ulink" href="https://www.debian.org/devel/debian-installer/">installatore Debian</a>.</p>
                </td>
              </tr>
            </table>
          </div>
          <p>Il programma "<code class="literal">/init</code>" viene eseguito come primo programma
in questo file system root in memoria. È un programma che inizializza il
kernel in spazio utente e passa il controllo allo stadio successivo. Questo
mini-sistema Debian offre flessibilità al processo di avvio, come la
possibilità di aggiungere moduli del kernel prima del processo di avvio
principale o di montare il file system root come cifrato.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> Il programma "<code class="literal">/init</code>" è uno script di shell se initramfs è
stato creato da <code class="literal">initramfs-tools</code>. </p>
                <div class="itemizedlist">
                  <ul class="itemizedlist">
                    <li class="listitem">
                      <p> Si può interrompere questa parte del processo di avvio per ottenere una
shell di root fornendo il parametro di avvio per il kernel
"<code class="literal">break=init</code>" etc. Vedere lo script
"<code class="literal">/init</code>" per ulteriori condizioni di interruzione. Questo
ambiente shell è abbastanza sofisticato da fare una buona ispezione
dell'hardware della macchina.  </p>
                    </li>
                    <li class="listitem">
                      <p> I comandi disponibili in questo mini-sistema Debian sono versioni minimali e
vengono principalmente forniti da uno strumento GNU chiamato
<code class="literal">busybox</code>(1).  </p>
                    </li>
                  </ul>
                </div>
              </li>
              <li class="listitem">
                <p> Il programma "<code class="literal">/init</code>" è un programma binario di
<code class="literal">systemd</code> se initramfs è stato creato da
<code class="literal">dracut</code>.  </p>
                <div class="itemizedlist">
                  <ul class="itemizedlist">
                    <li class="listitem">
                      <p> I comandi disponibili in questo mini-sistema Debian sono un ambiente
<code class="literal">systemd</code>(1) ridotto al minimo.  </p>
                    </li>
                  </ul>
                </div>
              </li>
            </ul>
          </div>
          <div class="caution" style="margin-left: 0.5in; margin-right: 0.5in;">
            <table border="0" summary="Caution">
              <tr>
                <td rowspan="2" align="center" valign="top">
                  <img alt="[Attenzione]" src="images/caution.png"/>
                </td>
                <th align="left">Attenzione</th>
              </tr>
              <tr>
                <td align="left" valign="top">
                  <p>È necessario usare l'opzione "<code class="literal">-n</code>" per il comando
<code class="literal">mount</code> quando si è nel filesystem root in sola lettura.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_stage_4_the_normal_debian_system"/>3.1.4. Stadio 4: il normale sistema Debian</h3>
              </div>
            </div>
          </div>
          <p>Il sistema Debian normale è il quarto stadio del processo di avvio che viene
iniziato dal mini-sistema Debian. Il kernel di sistema del mini-sistema
Debian continua ad essere in esecuzione anche in questo ambiente. Il
filesystem root viene cambiato da quello in memoria all'effettivo filesystem
sul disco fisso.</p>
          <p>Il programma <a class="ulink" href="https://it.wikipedia.org/wiki/Init">init</a> viene eseguito come primo
programma con PID=1 per effettuare il processo principale di avvio di far
partire molti programmi. Il percorso di file predefinito per il programma
init è «<code class="literal">/sbin/init</code>», ma può essere cambiato con un
parametro di avvio del kernel come in
«<code class="literal">init=/percorso/del/programma_init</code>».</p>
          <p>"<code class="literal">/sbin/init</code>" è un collegamento simbolico a
"<code class="literal">/lib/systemd/systemd</code>" a partire da Debian 8 Jessie
(rilasciata nel 2015).</p>
          <div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
            <table border="0" summary="Tip">
              <tr>
                <td rowspan="2" align="center" valign="top">
                  <img alt="[Suggerimento]" src="images/tip.png"/>
                </td>
                <th align="left">Suggerimento</th>
              </tr>
              <tr>
                <td align="left" valign="top">
                  <p>Si può verificare quale è l'effettivo comando init nel proprio sistema con
il comando «<code class="literal">ps --pid 1 -f</code>».</p>
                </td>
              </tr>
            </table>
          </div>
          <div class="table">
            <a id="listofbootutilitrthedebiansystem"/>
            <p class="title">
              <strong>Tabella 3.3. Elenco di utilità di avvio per il sistema Debian</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Elenco di utilità di avvio per il sistema Debian" border="1">
                <colgroup>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                </colgroup>
                <thead>
                  <tr>
                    <th style="text-align: left"> pacchetto </th>
                    <th style="text-align: left"> popcon </th>
                    <th style="text-align: left"> dimensione </th>
                    <th style="text-align: left"> descrizione </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/systemd">
<code class="literal">systemd</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=systemd">V:857, I:951</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/s/systemd.html">9572</a>
                    </td>
                    <td style="text-align: left"> demone <code class="literal">init</code>(8) basato su eventi per concorrenza
(alternativa a <code class="literal">sysvinit</code>) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/systemd-sysv">
<code class="literal">systemd-sysv</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=systemd-sysv">V:830, I:950</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/s/systemd-sysv.html">72</a>
                    </td>
                    <td style="text-align: left"> le pagine di manuale e i collegamenti necessari affinché
<code class="literal">systemd</code> sostituisca <code class="literal">sysvinit</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/init-system-helpers">
<code class="literal">init-system-helpers</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=init-system-helpers">V:694, I:961</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/i/init-system-helpers.html">140</a>
                    </td>
                    <td style="text-align: left"> strumenti ausiliari per commutare tra <code class="literal">sysvinit</code> e
<code class="literal">systemd</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/initscripts">
<code class="literal">initscripts</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=initscripts">V:51, I:197</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/i/initscripts.html">177</a>
                    </td>
                    <td style="text-align: left"> script per inizializzare ed arrestare il sistema </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/sysvinit-core">
<code class="literal">sysvinit-core</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=sysvinit-core">V:6, I:7</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/s/sysvinit-core.html">342</a>
                    </td>
                    <td style="text-align: left"> utilità <code class="literal">init</code>(8) in stile System-V </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/sysv-rc">
<code class="literal">sysv-rc</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=sysv-rc">V:101, I:210</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/s/sysv-rc.html">85</a>
                    </td>
                    <td style="text-align: left"> meccanismo di cambiamento del runlevel in stile System-V </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/sysvinit-utils">
<code class="literal">sysvinit-utils</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=sysvinit-utils">V:906, I:999</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/s/sysvinit-utils.html">100</a>
                    </td>
                    <td style="text-align: left"> utilità in stile System-V (<code class="literal">startpar</code>(8),
<code class="literal">bootlogd</code>(8), …) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/lsb-base">
<code class="literal">lsb-base</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=lsb-base">V:899, I:988</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/l/lsb-base.html">12</a>
                    </td>
                    <td style="text-align: left">funzionalità di script init <a class="ulink" href="https://it.wikipedia.org/wiki/Linux_Standard_Base">Linux Standard
Base</a> 3.2 </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/insserv">
<code class="literal">insserv</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=insserv">V:132, I:208</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/i/insserv.html">153</a>
                    </td>
                    <td style="text-align: left"> strumento per organizzare la sequenza di avvio usando dipendenze LSB negli
script init.d </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/uswsusp">
<code class="literal">uswsusp</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=uswsusp">V:1, I:4</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/u/uswsusp.html">714</a>
                    </td>
                    <td style="text-align: left"> strumenti per usare la sospensione software in spazio utente fornita da
Linux </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/kexec-tools">
<code class="literal">kexec-tools</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=kexec-tools">V:1, I:7</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/k/kexec-tools.html">286</a>
                    </td>
                    <td style="text-align: left"> strumento kexec per riavvii <code class="literal">kexec</code>(8) (riavvio a caldo) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/systemd-bootchart">
<code class="literal">systemd-bootchart</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=systemd-bootchart">V:0, I:1</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/s/systemd-bootchart.html">132</a>
                    </td>
                    <td style="text-align: left"> analizzatore delle prestazioni del processo di avvio </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/mingetty">
<code class="literal">mingetty</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=mingetty">V:0, I:3</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/m/mingetty.html">38</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">getty</code>(8) solo console </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/mgetty">
<code class="literal">mgetty</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=mgetty">V:0, I:0</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/m/mgetty.html">315</a>
                    </td>
                    <td style="text-align: left"> rimpiazzio di <code class="literal">getty</code>(8) per smart modem </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <br class="table-break"/>
          <div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
            <table border="0" summary="Tip">
              <tr>
                <td rowspan="2" align="center" valign="top">
                  <img alt="[Suggerimento]" src="images/tip.png"/>
                </td>
                <th align="left">Suggerimento</th>
              </tr>
              <tr>
                <td align="left" valign="top">
                  <p>Vedere la <a class="ulink" href="https://wiki.debian.org/BootProcessSpeedup">pagina del Wiki Debian
sulla velocizzazione del processo di avvio</a> per i più recenti
suggerimenti su come velocizzare il processo di avvio.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_systemd_init"/>3.2. Init systemd</h2>
            </div>
          </div>
        </div>
        <p>Questa sezione describe come viene avviato il sistema dal programma
<code class="literal">systemd</code>(1) con <code class="literal">PID=1</code> (cioè processo
init).</p>
        <p>Il processo di init <code class="literal">systemd</code> lancia processi in parallelo
sulla base dei file di configurazione delle unità (vedere
<code class="literal">systemd.unit</code>(5)) che sono scritti in stile dichiarativo
invece che in stile procedurale come per SysV.</p>
        <p>I processi avviati sono messi in singoli <a class="ulink" href="https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html">gruppi di controllo (control group) Linux</a>
che prendono il nome dall'unità a cui appartengono nella gerarchia privata
di systemd (vedere <a class="ulink" href="https://en.wikipedia.org/wiki/Cgroups">cgroups</a> e <a class="xref" href="ch04.it.html#_linux_security_features" title="4.7.4. Funzionalità di sicurezza di Linux">Sezione 4.7.4, «Funzionalità di sicurezza di Linux»</a>).</p>
        <p>I file di configurazione delle unità sono caricati da un insieme di percorsi
(vedere <code class="literal">systemd-system.conf</code>(5)) nel modo seguente:</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p> "<code class="literal">/lib/systemd/system</code>": file di configurazione predefiniti
del sistema operativo </p>
            </li>
            <li class="listitem">
              <p> "<code class="literal">/etc/systemd/system</code>": file di configurazione
dell'amministratore di sistema che scavalcano i file di configurazione
predefiniti del sistema operativo </p>
            </li>
            <li class="listitem">
              <p> "<code class="literal">/run/systemd/system</code>": file di configurazione generati al
momento dell'esecuzione che scavalcano i file di configurazione installati </p>
            </li>
          </ul>
        </div>
        <p>Le loro inter-dipendenze sono specificate dalle direttive
"<code class="literal">Wants=</code>", "<code class="literal">Requires=</code>",
"<code class="literal">Before=</code>", "<code class="literal">After=</code>", … (vedere
"MAPPING OF UNIT PROPERTIES TO THEIR INVERSES" in
<code class="literal">systemd.unit</code>(5)). Sono definiti anche i controlli delle
risorse (vedere <code class="literal">systemd.resource-control</code>(5)).</p>
        <p>Il suffisso dei file di configurazione delle unità codifica il loro tipo in
questo modo:</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p><span class="strong"><strong>*.service</strong></span> descrive un processo
controllato e supervisionato da <code class="literal">systemd</code>. Vedere
<code class="literal">systemd.service</code>(5).  </p>
            </li>
            <li class="listitem">
              <p><span class="strong"><strong>*.device</strong></span> descrive un device esposto in
<code class="literal">sysfs</code>(5) come albero di device
<code class="literal">udev</code>(7). Vedere <code class="literal">systemd.device</code>(5).  </p>
            </li>
            <li class="listitem">
              <p><span class="strong"><strong>*.mount</strong></span> descrive un punto di mount del
file system controllato e supervisionato da
<code class="literal">systemd</code>. Vedere <code class="literal">systemd.mount</code>(5).  </p>
            </li>
            <li class="listitem">
              <p><span class="strong"><strong>*.automount</strong></span> descrive un punto di mount
automatico del file system controllato e supervisionato da
<code class="literal">systemd</code>. Vedere <code class="literal">systemd.automount</code>(5).  </p>
            </li>
            <li class="listitem">
              <p><span class="strong"><strong>*.swap</strong></span> descrive un device o file di swap
controllato e supervisionato da <code class="literal">systemd</code>. Vedere
<code class="literal">systemd.swap</code>(5).  </p>
            </li>
            <li class="listitem">
              <p><span class="strong"><strong>*.path</strong></span> descrive un percorso monitorato da
<code class="literal">systemd</code> per l'attivazione basata su percorso. Vedere
<code class="literal">systemd.path</code>(5).  </p>
            </li>
            <li class="listitem">
              <p><span class="strong"><strong>*.socket</strong></span> descrive un socket controllato e
supervisionato da <code class="literal">systemd</code> per l'attivazione basata su
socket. Vedere <code class="literal">systemd.socket</code>(5).  </p>
            </li>
            <li class="listitem">
              <p><span class="strong"><strong>*.timer</strong></span> descrive un timer controllato e
supervisionato da <code class="literal">systemd</code> per l'attivazione basata su
timer. Vedere <code class="literal">systemd.timer</code>(5).  </p>
            </li>
            <li class="listitem">
              <p><span class="strong"><strong>*.slice</strong></span> gestisce risorse con
<code class="literal">cgroups</code>(7). Vedere <code class="literal">systemd.slice</code>(5).  </p>
            </li>
            <li class="listitem">
              <p><span class="strong"><strong>*.scope</strong></span> viene creato programmaticamente
usando le interfacce di bus di <code class="literal">systemd</code> per gestire un
insieme di processi di sistema. Vedere <code class="literal">systemd.scope</code>(5).  </p>
            </li>
            <li class="listitem">
              <p><span class="strong"><strong>*.target</strong></span> raggruppa altri file di
configurazione di unità per creare punti di sincronizzazione durante
l'avvio. Vedere <code class="literal">systemd.target</code>(5).  </p>
            </li>
          </ul>
        </div>
        <p>All'avvio del sistema (cioè init) il processo <code class="literal">systemd</code>
cerca di avviare "<code class="literal">/lib/systemd/system/default.target</code>"
(normalmente un collegamento simbolico a
"<code class="literal">graphical.target</code>"). Come prima cosa alcune speciali
unità target (vedere <code class="literal">systemd.special</code>(7)) come
"<code class="literal">local-fs.target</code>", "<code class="literal">swap.target</code>" e
"<code class="literal">cryptsetup.target</code>" sono richiamate per montare i file
system. Poi altre unità target vengono anch'esse richiamate dalle dipendenze
delle unità target. Per i dettagli leggere <code class="literal">bootup</code>(7).</p>
        <p><code class="literal">systemd</code> offre funzionalità di compatibilità
all'indietro. Gli script di avvio in stile SysV in
"<code class="literal">/etc/init.d/rc[0123456S].d/[KS]<span class="emphasis"><em>name</em></span></code>"
sono comunque analizzati e <code class="literal">telinit</code>(8) viene tradotto in
richieste di attivazione di unità systemd.</p>
        <div class="caution" style="margin-left: 0.5in; margin-right: 0.5in;">
          <table border="0" summary="Caution">
            <tr>
              <td rowspan="2" align="center" valign="top">
                <img alt="[Attenzione]" src="images/caution.png"/>
              </td>
              <th align="left">Attenzione</th>
            </tr>
            <tr>
              <td align="left" valign="top">
                <p>Run level emulati da 2 a 4 hanno tutti collegamenti simbolici al
corrispondente "<code class="literal">multi-user.target</code>".</p>
              </td>
            </tr>
          </table>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_the_hostname"/>3.2.1. Il nome host</h3>
              </div>
            </div>
          </div>
          <p>Il kernel gestisce il <span class="strong"><strong>nome host</strong></span> del
sistema. L'unità systemd avviata
da<code class="literal">systemd-hostnamed.service</code> imposta il nome host del
sistema all'avvio al nome memorizzato in
"<code class="literal">/etc/hostname</code>". Questo file dovrebbe contenere <span class="strong"><strong>solamente</strong></span> il nome host del sistema, non un nome di
dominio pienamente qualificato.</p>
          <p>Per visualizzare il nome host attuale eseguire
<code class="literal">hostname</code>(1) senza alcun argomento.</p>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_the_filesystem"/>3.2.2. Il filesystem</h3>
              </div>
            </div>
          </div>
          <p>Le opzioni usate per montare i file system normali dei dischi e di rete sono
impostate in "<code class="literal">/etc/fstab</code>". Vedere
<code class="literal">fstab</code>(5) e <a class="xref" href="ch09.it.html#_optimization_of_filesystem_by_mount_options" title="9.6.7. Ottimizzare il file system con opzioni di mount">Sezione 9.6.7, «Ottimizzare il file system con opzioni di mount»</a>.</p>
          <p>La configurazione dei file system cifrati è impostata in
"<code class="literal">/etc/crypttab</code>". Vedere <code class="literal">crypttab</code>(5)</p>
          <p>Vedere <code class="literal">wvdial</code>(1) e <code class="literal">wvdial.conf</code>(5).</p>
          <div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
            <table border="0" summary="Warning">
              <tr>
                <td rowspan="2" align="center" valign="top">
                  <img alt="[Avvertimento]" src="images/warning.png"/>
                </td>
                <th align="left">Avvertimento</th>
              </tr>
              <tr>
                <td align="left" valign="top">
                  <p>Dopo aver montato tutti i filesystem, i file temporanei in
"<code class="literal">/tmp</code>", "<code class="literal">/var/lock</code>" e
"<code class="literal">/var/run</code>" vengono ripuliti ad ogni avvio.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_network_interface_initialization"/>3.2.3. Inizializzazione delle interfacce di rete</h3>
              </div>
            </div>
          </div>
          <p>Le interfacce di rete sono tipicamente inizializzate in
"<code class="literal">networking.service</code>" per l'interfaccia
<code class="literal">lo</code> e "<code class="literal">NetworkManager.service</code>" per le
altre interfacce nei moderni sistemi desktop Debian che usano
<code class="literal">systemd</code>.</p>
          <p>Vedere <a class="xref" href="ch05.it.html" title="Capitolo 5. Impostazione della rete">Capitolo 5, <em>Impostazione della rete</em></a> per come configurarle.</p>
        </div>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_the_kernel_message"/>3.3. I messaggi del kernel</h2>
            </div>
          </div>
        </div>
        <p>I messaggi di errore del kernel visualizzati nella console possono essere
configurati impostando il loro livello di soglia.</p>
        <pre class="screen"># dmesg -n3</pre>
        <div class="table">
          <a id="listofkernelerrorlevels"/>
          <p class="title">
            <strong>Tabella 3.4. Elenco dei livelli di errore del kernel</strong>
          </p>
          <div class="table-contents">
            <table class="table" summary="Elenco dei livelli di errore del kernel" border="1">
              <colgroup>
                <col style="text-align: left"/>
                <col style="text-align: left"/>
                <col style="text-align: left"/>
              </colgroup>
              <thead>
                <tr>
                  <th style="text-align: left"> valore del livello di errore </th>
                  <th style="text-align: left"> nome del livello di errore </th>
                  <th style="text-align: left"> significato </th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td style="text-align: left"> 0 </td>
                  <td style="text-align: left"> KERN_EMERG </td>
                  <td style="text-align: left"> il sistema è inutilizzabile </td>
                </tr>
                <tr>
                  <td style="text-align: left"> 1 </td>
                  <td style="text-align: left"> KERN_ALERT </td>
                  <td style="text-align: left"> bisogna agire immediatamente </td>
                </tr>
                <tr>
                  <td style="text-align: left"> 2 </td>
                  <td style="text-align: left"> KERN_CRIT </td>
                  <td style="text-align: left"> condizione critica </td>
                </tr>
                <tr>
                  <td style="text-align: left"> 3 </td>
                  <td style="text-align: left"> KERN_ERR </td>
                  <td style="text-align: left"> condizione di errore </td>
                </tr>
                <tr>
                  <td style="text-align: left"> 4 </td>
                  <td style="text-align: left"> KERN_WARNING </td>
                  <td style="text-align: left"> condizione di avvertimento </td>
                </tr>
                <tr>
                  <td style="text-align: left"> 5 </td>
                  <td style="text-align: left"> KERN_NOTICE </td>
                  <td style="text-align: left"> condizione normale ma significativa </td>
                </tr>
                <tr>
                  <td style="text-align: left"> 6 </td>
                  <td style="text-align: left"> KERN_INFO </td>
                  <td style="text-align: left"> messaggio informativo </td>
                </tr>
                <tr>
                  <td style="text-align: left"> 7 </td>
                  <td style="text-align: left"> KERN_DEBUG </td>
                  <td style="text-align: left"> messaggio a livello di debug </td>
                </tr>
              </tbody>
            </table>
          </div>
        </div>
        <br class="table-break"/>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_the_system_message"/>3.4. I messaggi di sistema</h2>
            </div>
          </div>
        </div>
        <p>Sotto <code class="literal">systemd</code> sia i messaggi del kernel sia quelli di
sistema sono registrati nei log dal servizio journal
<code class="literal">systemd-journald.service</code> (alias
<code class="literal">journald</code>) o in dati binari persistenti dentro
"<code class="literal">/var/log/journal</code>" o in dati binari volatili dentro
"<code class="literal">/run/log/journal/</code>". A questi dati binari di log si può
accedere tramite il comando <code class="literal">journalctl</code>(1). Ad esempio si
può visualizzare il log dall'ultimo avvio con:</p>
        <pre class="screen">$ journalctl -b</pre>
        <div class="table">
          <a id="listoftypicaljoulcommandsnippets"/>
          <p class="title">
            <strong>Tabella 3.5. Elenco di tipici esempi di comandi per <code class="literal">systemd</code></strong>
          </p>
          <div class="table-contents">
            <table class="table" summary="Elenco di tipici esempi di comandi per systemd" border="1">
              <colgroup>
                <col style="text-align: left"/>
                <col style="text-align: left"/>
              </colgroup>
              <thead>
                <tr>
                  <th style="text-align: left"> Operazione </th>
                  <th style="text-align: left"> Esempio di comando </th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td style="text-align: left"> Visualizzare il log per i servizi di sistema e il kernel dall'ultimo avvio </td>
                  <td style="text-align: left"> "<code class="literal">journalctl -b --system</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Visualizzare il log per i servizi dell'utente attuale dall'ultimo avvio </td>
                  <td style="text-align: left"> "<code class="literal">journalctl -b --user</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Visualizzare il log di lavoro di "<code class="literal">$unit</code>" dall'ultimo
avvio </td>
                  <td style="text-align: left"> "<code class="literal">journalctl -b -u $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Visualizzare il log di lavoro di "<code class="literal">$unit</code>" (in stile
"<code class="literal">tail -f</code>") dall'ultimo avvio </td>
                  <td style="text-align: left"> "<code class="literal">journalctl -b -u $unit -f</code>" </td>
                </tr>
              </tbody>
            </table>
          </div>
        </div>
        <br class="table-break"/>
        <p>In <code class="literal">systemd</code> l'utilità per il registro di log di sistema,
<code class="literal">rsyslogd</code>(8), può essere disinstallato. Se è installato,
cambia il comportamento per leggere i dati del log binario volatile (invece
del predefinito pre-systemd "<code class="literal">/dev/log</code>") e per creare dati
log di sistema ASCII tradizionali permanenti. Questo può essere
personalizzato da "<code class="literal">/etc/default/rsyslog</code>" e
"<code class="literal">/etc/rsyslog.conf</code>" sia per il file di log sia per la
visualizzazione a schermo. Vedere <code class="literal">rsyslogd</code>(8) e
<code class="literal">rsyslog.conf</code>(5). Vedere anche <a class="xref" href="ch09.it.html#_log_analyzer" title="9.3.2. Analizzatori di registro">Sezione 9.3.2, «Analizzatori di registro»</a>.</p>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_system_management_operations"/>3.5. Gestione del sistema</h2>
            </div>
          </div>
        </div>
        <p><code class="literal">systemd</code> offre non solo un sistema init, ma anche
funzionalità generiche di gestione del sistema, con il comando
<code class="literal">systemctl</code>(1).</p>
        <div class="table">
          <a id="listoftypicalsyslcommandsnippets"/>
          <p class="title">
            <strong>Tabella 3.6. Elenco di tipici esempi di comandi <code class="literal">systemctl</code></strong>
          </p>
          <div class="table-contents">
            <table class="table" summary="Elenco di tipici esempi di comandi systemctl" border="1">
              <colgroup>
                <col style="text-align: left"/>
                <col style="text-align: left"/>
              </colgroup>
              <thead>
                <tr>
                  <th style="text-align: left"> Operazione </th>
                  <th style="text-align: left"> Esempio di comando </th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td style="text-align: left"> Elencare tutte le configurazioni delle unità target </td>
                  <td style="text-align: left"> "<code class="literal">systemctl list-units --type=target</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Elencare tutte le configurazioni delle unità service </td>
                  <td style="text-align: left"> "<code class="literal">systemctl list-units --type=service</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Elencare tutti i tipi di configurazioni delle unità </td>
                  <td style="text-align: left"> "<code class="literal">systemctl list-units --type=help</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Elencare tutte le unità socket in memoria </td>
                  <td style="text-align: left"> "<code class="literal">systemctl list-sockets</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Elencare tutte le unità timer in memoria </td>
                  <td style="text-align: left"> "<code class="literal">systemctl list-timers</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Avviare "<code class="literal">$unit</code>" </td>
                  <td style="text-align: left"> "<code class="literal">systemctl start $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Fermare "<code class="literal">$unit</code>" </td>
                  <td style="text-align: left"> "<code class="literal">systemctl stop $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Ricaricare la configurazione specifica di un servizio </td>
                  <td style="text-align: left"> "<code class="literal">systemctl reload $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Fermare e riavviare tutte le "<code class="literal">$unit</code>" </td>
                  <td style="text-align: left"> "<code class="literal">systemctl restart $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Avviare "<code class="literal">$unit</code>" e fermare tutte le altre </td>
                  <td style="text-align: left"> "<code class="literal">systemctl isolate $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Passare alla modalità "<code class="literal">graphical</code>" (sistema GUI) </td>
                  <td style="text-align: left"> "<code class="literal">systemctl isolate graphical</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Passare alla modalità "<code class="literal">multi-user</code>" (sistema CLI) </td>
                  <td style="text-align: left"> "<code class="literal">systemctl isolate multi-user</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Passare alla modalità "<code class="literal">rescue</code>" (sistema CLI a singolo
utente) </td>
                  <td style="text-align: left"> "<code class="literal">systemctl isolate rescue</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Inviare il segnale kill a "<code class="literal">$unit</code>" </td>
                  <td style="text-align: left"> "<code class="literal">systemctl kill $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Controllare se il servizio "<code class="literal">$unit</code>" è attivo </td>
                  <td style="text-align: left"> "<code class="literal">systemctl is-active $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Controllare se il servizio "<code class="literal">$unit</code>" è fallito </td>
                  <td style="text-align: left"> "<code class="literal">systemctl is-failed $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Controllare lo stato di "<code class="literal">$unit|$PID|device</code>" </td>
                  <td style="text-align: left"> "<code class="literal">systemctl status $unit|$PID|$device</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Mostrare le proprietà di "<code class="literal">$unit|$job</code>" </td>
                  <td style="text-align: left"> "<code class="literal">systemctl show $unit|$job</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Ripristinare "<code class="literal">$unit</code>" fallita </td>
                  <td style="text-align: left"> "<code class="literal">systemctl reset-failed $unit"</code> </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Elencare le dipendenze di tutti i servizi unità </td>
                  <td style="text-align: left"> "<code class="literal">systemctl list-dependencies --all</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Elencare i file di unità installati sul sistema </td>
                  <td style="text-align: left"> "<code class="literal">systemctl list-unit-files</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Abilitare "<code class="literal">$unit</code>" (aggiungere collegamento simbolico) </td>
                  <td style="text-align: left"> "<code class="literal">systemctl enable $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Disabilitare "<code class="literal">$unit</code>" (rimuovere collegamento simbolico) </td>
                  <td style="text-align: left"> "<code class="literal">systemctl disable $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Togliere maschera a "<code class="literal">$unit</code>" (rimuovere collegamento
simbolico a"<code class="literal">/dev/null</code>") </td>
                  <td style="text-align: left"> "<code class="literal">systemctl unmask $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Mascherare "<code class="literal">$unit</code>" (aggiungere collegamento simbolico
a"<code class="literal">/dev/null</code>") </td>
                  <td style="text-align: left"> "<code class="literal">systemctl mask $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Ottenere l'impostazione del target predefinito </td>
                  <td style="text-align: left"> "<code class="literal">systemctl get-default</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Impostare default-target a "<code class="literal">graphical</code>" (sistema GUI) </td>
                  <td style="text-align: left"> "<code class="literal">systemctl set-default graphical</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Impostare default-target a "<code class="literal">multi-user</code>" (sistema CLI) </td>
                  <td style="text-align: left"> "<code class="literal">systemctl set-default multi-user</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Mostrare l'ambiente del lavoro </td>
                  <td style="text-align: left"> "<code class="literal">systemctl show-environment</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Impostare la variabile "<code class="literal">variable</code>" dell'ambiente di lavoro
al valore "<code class="literal">value</code>" </td>
                  <td style="text-align: left"> "<code class="literal">systemctl set-environment variable=value</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Disimpostare la variabile "<code class="literal">variable</code>" dell'ambiente di
lavoro </td>
                  <td style="text-align: left"> "<code class="literal">systemctl unset-environment variable</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Ricaricare tutti i file di unità e i demoni </td>
                  <td style="text-align: left"> "<code class="literal">systemctl daemon-reload</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Spegnere il sistema </td>
                  <td style="text-align: left"> "<code class="literal">systemctl poweroff</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Spegnere e riavviare il sistema </td>
                  <td style="text-align: left"> "<code class="literal">systemctl reboot</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Sospendere il sistema </td>
                  <td style="text-align: left"> "<code class="literal">systemctl suspend</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Ibernare il sistema </td>
                  <td style="text-align: left"> "<code class="literal">systemctl hibernate</code>" </td>
                </tr>
              </tbody>
            </table>
          </div>
        </div>
        <br class="table-break"/>
        <p>Negli esempi soprastanti "<code class="literal">$unit</code>" può essere un singolo
nome di unità (suffissi come <code class="literal">.service</code> e
<code class="literal">.target</code> sono opzionali) o, in molti casi, la specifica di
più unità (con glob in stile shell "<code class="literal">*</code>",
"<code class="literal">?</code>", "<code class="literal">[]</code>" usando
<code class="literal">fnmatch</code>(3) con corrispondenze con i nomi primari di tutte
le unità attualmente in memoria).</p>
        <p>I comandi che cambiano lo stato del sistema negli esempi soprastanti sono
tipicamente preceduti da "<code class="literal">sudo</code>" per ottenere i privilegi
amministrativi necessari.</p>
        <p>L'output di "<code class="literal">systemctl status $unit|$PID|$device</code>" usa il
colore del puntino ("●") per riassumere lo stato dell'unità a prima vista.</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p> Un "●" bianco indica uno stato "inattivo" o "deattivato".  </p>
            </li>
            <li class="listitem">
              <p> Un "●" rosso indica uno stato di "fallimento" o "errore".  </p>
            </li>
            <li class="listitem">
              <p> Un "●" verde indica uno stato "attivo", "in ricaricamento" o "in
attivazione".  </p>
            </li>
          </ul>
        </div>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_other_system_monitors"/>3.6. Altri strumenti di monitoraggio del sistema</h2>
            </div>
          </div>
        </div>
        <p>Ecco un elenco di altri esempi di comandi per il monitoraggio in
<code class="literal">systemd</code>. Leggere le relative pagine di manuale, inclusa
<code class="literal">cgroups</code>(7).</p>
        <div class="table">
          <a id="listofothermonitpetsundersystemd"/>
          <p class="title">
            <strong>Tabella 3.7. Elenco di altri esempi di comandi per il monitoraggio in
<code class="literal">systemd</code></strong>
          </p>
          <div class="table-contents">
            <table class="table" summary="Elenco di altri esempi di comandi per il monitoraggio in&#10;systemd" border="1">
              <colgroup>
                <col style="text-align: left"/>
                <col style="text-align: left"/>
              </colgroup>
              <thead>
                <tr>
                  <th style="text-align: left"> Operazione </th>
                  <th style="text-align: left"> Esempio di comando </th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td style="text-align: left"> Mostrare il tempo utilizzato per ogni passo di inizializzazione </td>
                  <td style="text-align: left"> "<code class="literal">systemd-analyze time</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Elencare tutte le unità col tempo di inizializzazione </td>
                  <td style="text-align: left"> "<code class="literal">systemd-analyze blame</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Carica e rileva gli errori nel file "<code class="literal">$unit</code>" </td>
                  <td style="text-align: left"> "<code class="literal">systemd-analyze verify $unit</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Mostra sintetiche informazioni di stato a runtime dell'utente della sessione
chiamante </td>
                  <td style="text-align: left"> "<code class="literal">loginctl user-status</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Mostra sintetiche informazioni di stato a runtime sulla sessione chiamante </td>
                  <td style="text-align: left"> "<code class="literal">loginctl session-status</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Traccia il processo di avvio con <a class="ulink" href="https://en.wikipedia.org/wiki/Cgroups">cgroups</a> </td>
                  <td style="text-align: left"> "<code class="literal">systemd-cgls</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Traccia il processo di avvio con <a class="ulink" href="https://en.wikipedia.org/wiki/Cgroups">cgroups</a> </td>
                  <td style="text-align: left"> "<code class="literal">ps xawf -eo pid,user,cgroup,args</code>" </td>
                </tr>
                <tr>
                  <td style="text-align: left"> Traccia il processo di avvio con <a class="ulink" href="https://en.wikipedia.org/wiki/Cgroups">cgroups</a> </td>
                  <td style="text-align: left"> Leggere <a class="ulink" href="https://en.wikipedia.org/wiki/Sysfs">sysfs</a> in
"<code class="literal">/sys/fs/cgroup/systemd/</code>" </td>
                </tr>
              </tbody>
            </table>
          </div>
        </div>
        <br class="table-break"/>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_customizing_systemd"/>3.7. Personalizzare systemd</h2>
            </div>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_socket_activation"/>3.7.1. Attivazione di socket</h3>
              </div>
            </div>
          </div>
          <p>Con l'installazione predefinita molti servizi di rete (vedere <a class="xref" href="ch06.it.html" title="Capitolo 6. Applicazioni per la rete">Capitolo 6, <em>Applicazioni per la rete</em></a>) vengono avviati come processi demone dopo
<code class="literal">network.target</code> al momento dell'avvio di sistema da
<code class="literal">systemd</code>. "<code class="literal">sshd</code> non fa eccezione. Come
esempio di personalizzazione cambiamo questo comportamento nell'avvio
on-demand di "<code class="literal">sshd</code>".</p>
          <p>Come prima cosa disabilitare l'unità di servizio installata dal sistema.</p>
          <pre class="screen"> $ sudo systemctl stop sshd.service
 $ sudo systemctl mask sshd.service</pre>
          <p>Il sistema di attivazione on-demand dei socket dei servizi classici Unix
avveniva attraverso il superserver <code class="literal">inetd</code> (o
<code class="literal">xinetd</code>). Con <code class="literal">systemd</code> il comportamento
equivalente può essere abilitato aggiungendo file di configurazione di unità
<span class="strong"><strong>*.socket</strong></span> e <span class="strong"><strong>*.service</strong></span>.</p>
          <p><code class="literal">sshd.socket</code> per specificare un socket su cui restare in
ascolto</p>
          <pre class="screen">[Unit]
Description=SSH Socket for Per-Connection Servers

[Socket]
ListenStream=22
Accept=yes

[Install]
WantedBy=sockets.target</pre>
          <p><code class="literal">sshd@.service</code> come file di servizio corrispondente di
<code class="literal">sshd.socket</code></p>
          <pre class="screen">[Unit]
Description=SSH Per-Connection Server

[Service]
ExecStart=-/usr/sbin/sshd -i
StandardInput=socket</pre>
          <p>Poi ricaricare.</p>
          <pre class="screen"> $ sudo systemctl daemon-reload</pre>
        </div>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_the_udev_system"/>3.8. Il sistema udev</h2>
            </div>
          </div>
        </div>
        <p>Il <a class="ulink" href="https://en.wikipedia.org/wiki/Udev">sistema udev</a> fornisce un meccanismo di
rilevazione e inizializzazione automatiche dell'hardware (vedere
<code class="literal">udev</code>(7)) a partire dal kernel Linux 2.6. Per ogni
dispositivo rilevato dal kernel, il sistema udev avvia un processo utente
che usa le informazioni del file system <a class="ulink" href="https://en.wikipedia.org/wiki/Sysfs">sysfs</a>
(vedere <a class="xref" href="ch01.it.html#_procfs_and_sysfs" title="1.2.12. procfs e sysfs">Sezione 1.2.12, «procfs e sysfs»</a>), carica, usando il programma
<code class="literal">modprobe</code>(8) (vedere <a class="xref" href="ch03.it.html#_the_kernel_module_initialization" title="3.8.1. L'inizializzazione dei moduli del kernel">Sezione 3.8.1, «L'inizializzazione dei moduli del kernel»</a>), i moduli del kernel
necessari per il supporto del dispositivo e crea i nodi di device
corrispondenti.</p>
        <div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
          <table border="0" summary="Tip">
            <tr>
              <td rowspan="2" align="center" valign="top">
                <img alt="[Suggerimento]" src="images/tip.png"/>
              </td>
              <th align="left">Suggerimento</th>
            </tr>
            <tr>
              <td align="left" valign="top">
                <p>Se, per una qualche ragione
"<code class="literal">/lib/modules/<span class="emphasis"><em>versione-kernel</em></span>/modules.dep</code>
non viene generato in modo appropriato dal <code class="literal">depmod</code>(8), i
moduli non possono essere caricati come dovuto dal sistema udev. Per
risolvere il problema eseguire "<code class="literal">depmod -a</code>".</p>
                <p>Per le regole di montaggio in "<code class="literal">/etc/fstab</code>", non è
necessario che i nodi di device siano statici. Si possono usare gli <a class="ulink" href="https://en.wikipedia.org/wiki/Universally_Unique_Identifier">UUID</a> per montare i dispositivi, al posto dei nomi di
device come "<code class="literal">/dev/sda</code>". Vedere <a class="xref" href="ch09.it.html#_accessing_partition_using_uuid" title="9.6.3. Accedere alle partizioni usando UUID">Sezione 9.6.3, «Accedere alle partizioni usando UUID»</a>.</p>
              </td>
            </tr>
          </table>
        </div>
        <p>Dato che il sistema udev è in qualche modo in costante evoluzione, in questo
documento sono fornite informazioni base, lasciando i dettagli ad altra
documentazione.</p>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_the_kernel_module_initialization"/>3.8.1. L'inizializzazione dei moduli del kernel</h3>
              </div>
            </div>
          </div>
          <p>Il programma <code class="literal">modprobe</code>(8) permette di configurare il
kernel Linux in esecuzione da processi utente, aggiungendo e rimuovendo
moduli del kernel. Il sistema udev (vedere <a class="xref" href="ch03.it.html#_the_udev_system" title="3.8. Il sistema udev">Sezione 3.8, «Il sistema udev»</a>) automatizza la sua invocazione per facilitare
l'inizializzazione dei moduli del kernel.</p>
          <p>Ci sono moduli non-hardware e speciali moduli con driver hardware, come
quelli elencati in seguito, che devono essere precaricati elencandoli nel
file "<code class="literal">/etc/modules</code>" (vedere
<code class="literal">modules</code>(5)).</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p>moduli <a class="ulink" href="https://it.wikipedia.org/wiki/TUN/TAP">TUN/TAP</a> che forniscono device virtuali
di rete Point-to-Point (TUN) e device virtuali di rete Ethernet (TAP), </p>
              </li>
              <li class="listitem">
                <p>moduli <a class="ulink" href="https://it.wikipedia.org/wiki/Netfilter">netfilter</a> che forniscono
funzionalità di firewall netfilter (<code class="literal">iptables</code>(8), <a class="xref" href="ch05.it.html#_netfilter_infrastructure" title="5.6. Infrastruttura netfilter">Sezione 5.6, «Infrastruttura netfilter»</a> e </p>
              </li>
              <li class="listitem">
                <p>moduli driver <a class="ulink" href="https://it.wikipedia.org/wiki/Watchdog">watchdog timer</a>.  </p>
              </li>
            </ul>
          </div>
          <p>I file di configurazione per il programma <code class="literal">modprobe</code>(8)
sono contenuti nella directory "<code class="literal">/etc/modprobes.d/</code>", come
spiegato in <code class="literal">modprobe.conf</code>(5). (Se si desidera evitare
l'autocaricamento di alcuni moduli del kernel, considerare la loro aggiunta
nella lista nera nel file "<code class="literal">/etc/modprobes.d/blacklist</code>".)</p>
          <p>Il file
"<code class="literal">/lib/modules/<span class="emphasis"><em>versione</em></span>/modules.dep</code>"
generato dal programma <code class="literal">depmod</code>(8) descrive le dipendenze
dei moduli usate dal programma <code class="literal">modprobe</code>(8).</p>
          <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
            <table border="0" summary="Note">
              <tr>
                <td rowspan="2" align="center" valign="top">
                  <img alt="[Nota]" src="images/note.png"/>
                </td>
                <th align="left">Nota</th>
              </tr>
              <tr>
                <td align="left" valign="top">
                  <p>Se si hanno problemi di caricamento dei moduli all'avvio o con
<code class="literal">modprobe</code>(8), "<code class="literal">depmod -a</code>" potrebbe
risolverli rigenerando il file "<code class="literal">modules.dep</code>".</p>
                </td>
              </tr>
            </table>
          </div>
          <p>Il programma <code class="literal">modinfo</code>(8) mostra informazioni su un modulo
del kernel Linux.</p>
          <p>Il programma <code class="literal">lsmod</code>(8) formatta in un bel modo i contenuti
di "<code class="literal">/proc/modules</code>", mostrando quali moduli del kernel
siano attualmente caricati.</p>
          <div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
            <table border="0" summary="Tip">
              <tr>
                <td rowspan="2" align="center" valign="top">
                  <img alt="[Suggerimento]" src="images/tip.png"/>
                </td>
                <th align="left">Suggerimento</th>
              </tr>
              <tr>
                <td align="left" valign="top">
                  <p>Si può identificare l'esatto hardware sul proprio sistema. Vedere <a class="xref" href="ch09.it.html#_hardware_identification" title="9.5.3. Identificazione dell'hardware">Sezione 9.5.3, «Identificazione dell'hardware»</a>.</p>
                  <p>Si può configurare l'hardware all'avvio per attivare le funzionalità
dell'hardware desiderate. Vedere <a class="xref" href="ch09.it.html#_hardware_configuration" title="9.5.4. Configurazione dell'hardware">Sezione 9.5.4, «Configurazione dell'hardware»</a>.</p>
                  <p>Si può probabilmente aggiungere il supporto per il proprio speciale
dispositivo ricompilando il kernel. Vedere <a class="xref" href="ch09.it.html#_the_kernel" title="9.10. Il kernel">Sezione 9.10, «Il kernel»</a>.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <hr/>
      <table width="100%" summary="Navigation footer">
        <tr>
          <td align="left"><a accesskey="p" href="ch02.it.html"><img src="images/prev.png" alt="Indietro"/></a> </td>
          <td align="center"> </td>
          <td align="right"> <a accesskey="n" href="ch04.it.html"><img src="images/next.png" alt="Avanti"/></a></td>
        </tr>
        <tr>
          <td align="left" valign="top">Capitolo 2. Gestione dei pacchetti in Debian </td>
          <td align="center">
            <a accesskey="h" href="index.it.html">
              <img src="images/home.png" alt="Partenza"/>
            </a>
          </td>
          <td align="right" valign="top"> Capitolo 4. Autenticazione e controllo degli accessi</td>
        </tr>
      </table>
    </div>
  </body>
</html>