Your IP : 216.73.216.81


Current Path : /proc/695564/root/usr/share/debian-reference/
Upload File :
Current File : //proc/695564/root/usr/share/debian-reference/ch10.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 10. Gestione dei dati</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="ch09.it.html" title="Capitolo 9. Suggerimenti per il sistema"/>
    <link rel="next" href="ch11.it.html" title="Capitolo 11. Conversione di dati"/>
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Capitolo 10. Gestione dei dati</th>
        </tr>
        <tr>
          <td align="left"><a accesskey="p" href="ch09.it.html"><img src="images/prev.png" alt="Indietro"/></a> </td>
          <th width="60%" align="center"> </th>
          <td align="right"> <a accesskey="n" href="ch11.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="_data_management"/>Capitolo 10. Gestione dei dati</h1>
          </div>
        </div>
      </div>
      <div class="toc">
        <p>
          <strong>Indice</strong>
        </p>
        <dl class="toc">
          <dt>
            <span class="section">
              <a href="ch10.it.html#_sharing_copying_and_archiving">10.1. Condividere, copiare ed archiviare</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_archive_and_compression_tools">10.1.1. Strumenti di archiviazione e compressione</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_copy_and_synchronization_tools">10.1.2. Strumenti di copia e sincronizzazione</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_idioms_for_the_archive">10.1.3. Esempi di invocazione per archivi</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_idioms_for_the_copy">10.1.4. Esempi di invocazione per la copia</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_idioms_for_the_selection_of_files">10.1.5. Esempi di invocazione per la selezione di file</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_archive_media">10.1.6. Supporti di archiviazione</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_removable_storage_device">10.1.7. Supporti di archiviazione removibili</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_filesystem_choice_for_sharing_data">10.1.8. Scelta del file system per la condivisione di dati</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_sharing_data_via_network">10.1.9. Condividere dati attraverso una rete</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="section">
              <a href="ch10.it.html#_backup_and_recovery">10.2. Backup e ripristino</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_backup_and_recovery_policy">10.2.1. Politica di backup e ripristino</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_backup_utility_suites">10.2.2. Suite con utilità di backup</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_personal_backup">10.2.3. Backup personale</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="section">
              <a href="ch10.it.html#_data_security_infrastructure">10.3. Infrastruttura di sicurezza dei dati</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_key_management_for_gnupg">10.3.1. Gestione delle chiavi per GnuPG</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_using_gnupg_on_files">10.3.2. Usare GnuPG su file</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_using_gnupg_with_mutt">10.3.3. Usare GnuPG con Mutt</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_using_gnupg_with_vim">10.3.4. Usare GnuPG con Vim</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_the_md5_sum">10.3.5. Somme di controllo MD5</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_password_keyring">10.3.6. Portachiavi per le password</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="section">
              <a href="ch10.it.html#_source_code_merge_tools">10.4. Strumenti per la fusione di codice sorgente</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_extracting_differences_for_source_files">10.4.1. Estrarre differenze da file sorgenti</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_merging_updates_for_source_files">10.4.2. Fondere aggiornamenti per file sorgenti</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_interactive_merge">10.4.3. Unione (merge) interattiva</a>
                </span>
              </dt>
            </dl>
          </dd>
          <dt>
            <span class="section">
              <a href="ch10.it.html#_git">10.5. Git</a>
            </span>
          </dt>
          <dd>
            <dl>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_configuration_of_git_client">10.5.1. Configurazione del client Git</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_basic_git_commands">10.5.2. Comandi Git di base</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_git_tips">10.5.3. Suggerimenti per Git</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_git_references">10.5.4. Documenti di consultazione per Git</a>
                </span>
              </dt>
              <dt>
                <span class="section">
                  <a href="ch10.it.html#_other_version_control_systems">10.5.5. Altri sistemi di controllo delle versioni</a>
                </span>
              </dt>
            </dl>
          </dd>
        </dl>
      </div>
      <p>In questo capitolo sono descritti strumenti e trucchi per gestire dati
binari e di testo in un sistema Debian.</p>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_sharing_copying_and_archiving"/>10.1. Condividere, copiare ed archiviare</h2>
            </div>
          </div>
        </div>
        <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>L'accesso in scrittura non coordinato a device a cui si sta attivamente
accedendo e a file da parte di processi diversi deve essere evitato per
prevenire le <a class="ulink" href="https://it.wikipedia.org/wiki/Race_condition">race condition</a>. Per
evitare ciò devono essere usati i meccanismi di <a class="ulink" href="https://en.wikipedia.org/wiki/File_locking">lock dei file</a> utilizzando
<code class="literal">flock</code>(1). </p>
              </td>
            </tr>
          </table>
        </div>
        <p>La sicurezza dei dati e la loro condivisione controllata hanno diversi
aspetti.</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p> La creazione di archivi di dati </p>
            </li>
            <li class="listitem">
              <p> L'accesso ad archivi remoti </p>
            </li>
            <li class="listitem">
              <p> La duplicazione </p>
            </li>
            <li class="listitem">
              <p> Il tenere traccia della cronologia delle modifiche </p>
            </li>
            <li class="listitem">
              <p> La facilitazione della condivisione dei dati </p>
            </li>
            <li class="listitem">
              <p> Il prevenire l'accesso non autorizzato ai file </p>
            </li>
            <li class="listitem">
              <p> La rilevazione di modifiche non autorizzate ai file </p>
            </li>
          </ul>
        </div>
        <p>Queste azioni possono essere realizzate usando una combinazione di
strumenti.</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p> Strumenti di archiviazione e compressione </p>
            </li>
            <li class="listitem">
              <p> Strumenti di copia e sincronizzazione </p>
            </li>
            <li class="listitem">
              <p> file system di rete </p>
            </li>
            <li class="listitem">
              <p> Supporti di archiviazione removibili </p>
            </li>
            <li class="listitem">
              <p> Secure Shell </p>
            </li>
            <li class="listitem">
              <p> Il sistema di autenticazione </p>
            </li>
            <li class="listitem">
              <p> Strumenti per sistemi di controllo delle versioni </p>
            </li>
            <li class="listitem">
              <p> Strumenti crittografici per hash e cifratura </p>
            </li>
          </ul>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_archive_and_compression_tools"/>10.1.1. Strumenti di archiviazione e compressione</h3>
              </div>
            </div>
          </div>
          <p>Ecco una tabella riassuntiva degli strumenti di archiviazione e compressione
disponibili per il sistema Debian.</p>
          <div class="table">
            <a id="listofarchiveandcompressiontools"/>
            <p class="title">
              <strong>Tabella 10.1. Elenco di strumenti di archiviazione e compressione</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Elenco di strumenti di archiviazione e compressione" 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"> estensione </th>
                    <th style="text-align: left"> comando </th>
                    <th style="text-align: left"> commento </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/tar"> <code class="literal">tar</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=tar">V:920, I:999</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/t/tar.html">3144</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.tar</code> </td>
                    <td style="text-align: left"><code class="literal">tar</code>(1) </td>
                    <td style="text-align: left"> strumento di archiviazione standard (standard de facto) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/cpio"> <code class="literal">cpio</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=cpio">V:416, I:998</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/c/cpio.html">1141</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.cpio</code> </td>
                    <td style="text-align: left"><code class="literal">cpio</code>(1) </td>
                    <td style="text-align: left"> strumento di archiviazione Unix in stile System V, da usare con
<code class="literal">find</code>(1) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/binutils">
<code class="literal">binutils</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=binutils">V:160, I:642</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/b/binutils.html">109</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.ar</code> </td>
                    <td style="text-align: left"><code class="literal">ar</code>(1) </td>
                    <td style="text-align: left"> strumento di archiviazione per la creazione di librerie statiche </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/fastjar">
<code class="literal">fastjar</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=fastjar">V:1, I:19</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/f/fastjar.html">183</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.jar</code> </td>
                    <td style="text-align: left"><code class="literal">fastjar</code>(1) </td>
                    <td style="text-align: left"> strumento di archiviazione per Java (simile a zip) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/pax"> <code class="literal">pax</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=pax">V:10, I:18</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/p/pax.html">170</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.pax</code> </td>
                    <td style="text-align: left"><code class="literal">pax</code>(1) </td>
                    <td style="text-align: left"> nuovo strumento POSIX di archiviazione, compromesso tra
<code class="literal">tar</code> e <code class="literal">cpio</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/gzip"> <code class="literal">gzip</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=gzip">V:882, I:999</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/g/gzip.html">252</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.gz</code> </td>
                    <td style="text-align: left"><code class="literal">gzip</code>(1), <code class="literal">zcat</code>(1), … </td>
                    <td style="text-align: left"> utilità GNU di compressione <a class="ulink" href="https://it.wikipedia.org/wiki/LZ77_e_LZ78">LZ77</a> (standard de
facto) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/bzip2"> <code class="literal">bzip2</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=bzip2">V:161, I:970</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/b/bzip2.html">121</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.bz2</code> </td>
                    <td style="text-align: left"><code class="literal">bzip2</code>(1), <code class="literal">bzcat</code>(1), … </td>
                    <td style="text-align: left">utilità per <a class="ulink" href="https://it.wikipedia.org/wiki/Trasformata_di_Burrows-Wheeler">compressione con
ordinamento dei blocchi Burrows-Wheeler</a> con maggiore rapporto di
compressione di <code class="literal">gzip</code>(1) (più lenta di
<code class="literal">gzip</code> con sintassi simile) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/lzma"> <code class="literal">lzma</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=lzma">V:1, I:20</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/l/lzma.html">149</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.lzma</code> </td>
                    <td style="text-align: left"><code class="literal">lzma</code>(1) </td>
                    <td style="text-align: left">utilità di compressione <a class="ulink" href="https://it.wikipedia.org/wiki/Algoritmo_Lempel-Ziv-Markov">LZMA</a> con maggiore
rapporto di compressione di <code class="literal">gzip</code>(1) (deprecata) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/xz-utils">
<code class="literal">xz-utils</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=xz-utils">V:432, I:979</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/x/xz-utils.html">1216</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.xz</code> </td>
                    <td style="text-align: left"><code class="literal">xz</code>(1), <code class="literal">xzdec</code>(1), … </td>
                    <td style="text-align: left">utilità di compressione <a class="ulink" href="https://en.wikipedia.org/wiki/Xz">XZ</a> con maggiore rapporto
di compressione di <code class="literal">bzip2</code>(1) (più lenta di
<code class="literal">gzip</code>, ma più veloce di <code class="literal">bzip2</code>;
sostituto dell'utilità di compressione <a class="ulink" href="https://it.wikipedia.org/wiki/Algoritmo_Lempel-Ziv-Markov">LZMA</a>) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/zstd"> <code class="literal">zstd</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=zstd">V:34, I:91</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/z/zstd.html">2027</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.zstd</code> </td>
                    <td style="text-align: left"><code class="literal">zstd</code>(1), <code class="literal">zstdcat</code>(1), … </td>
                    <td style="text-align: left">utilità di compressione <a class="ulink" href="https://en.wikipedia.org/wiki/Zstandard">Zstandard</a> veloce
senza perdita di dati </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/p7zip"> <code class="literal">p7zip</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=p7zip">V:111, I:454</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/p/p7zip.html">987</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.7z</code> </td>
                    <td style="text-align: left"><code class="literal">7zr</code>(1), <code class="literal">p7zip</code>(1) </td>
                    <td style="text-align: left">strumento di archiviazione file <a class="ulink" href="https://it.wikipedia.org/wiki/7-Zip">7-Zip</a> con alto
rapporto di compressione (compressione <a class="ulink" href="https://it.wikipedia.org/wiki/Algoritmo_Lempel-Ziv-Markov">LZMA</a>) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/p7zip-full">
<code class="literal">p7zip-full</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=p7zip-full">V:116, I:460</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/p/p7zip-full.html">4664</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.7z</code> </td>
                    <td style="text-align: left"><code class="literal">7z</code>(1), <code class="literal">7za</code>(1) </td>
                    <td style="text-align: left">strumento di archiviazione file <a class="ulink" href="https://it.wikipedia.org/wiki/7-Zip">7-Zip</a> con alto
rapporto di compressione (compressione <a class="ulink" href="https://it.wikipedia.org/wiki/Algoritmo_Lempel-Ziv-Markov">LZMA</a> e
altre) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/lzop"> <code class="literal">lzop</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=lzop">V:13, I:133</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/l/lzop.html">164</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.lzo</code> </td>
                    <td style="text-align: left"><code class="literal">lzop</code>(1) </td>
                    <td style="text-align: left">utilità di compressione <a class="ulink" href="https://en.wikipedia.org/wiki/Lempel-Ziv-Oberhumer">LZO</a> con velocità di
compressione e decompressione più alta di quella di
<code class="literal">gzip</code>(1) (più basso rapporto di compressione di
<code class="literal">gzip</code> con sintassi simile) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/zip"> <code class="literal">zip</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=zip">V:47, I:398</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/z/zip.html">623</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.zip</code> </td>
                    <td style="text-align: left"><code class="literal">zip</code>(1) </td>
                    <td style="text-align: left"><a class="ulink" href="https://en.wikipedia.org/wiki/Info-ZIP">InfoZIP</a>: strumento di archiviazione e
compressione per DOS </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/unzip"> <code class="literal">unzip</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=unzip">V:100, I:772</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/u/unzip.html">385</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">.zip</code> </td>
                    <td style="text-align: left"><code class="literal">unzip</code>(1) </td>
                    <td style="text-align: left"><a class="ulink" href="https://en.wikipedia.org/wiki/Info-ZIP">InfoZIP</a>: strumento di estrazione di archivi e
decompressione per DOS </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 impostare la variabile "<code class="literal">$TAPE</code>" a meno che non si
sappia esattamente cosa aspettarsi. Cambia il comportamento di
<code class="literal">tar</code>(1).</p>
                </td>
              </tr>
            </table>
          </div>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p>Gli archivi <code class="literal">tar</code>(1) compressi con gzip usano l'estensione
di file "<code class="literal">.tgz</code>" o "<code class="literal">.tar.gz</code>".</p>
              </li>
              <li class="listitem">
                <p>Gli archivi <code class="literal">tar</code>(1) compressi con xz usano l'estensione di
file "<code class="literal">.txz</code>" o "<code class="literal">.tar.xz</code>".</p>
              </li>
              <li class="listitem">
                <p>La popolarità dei metodi di compressione negli strumenti <a class="ulink" href="https://it.wikipedia.org/wiki/Free_and_Open_Source_Software">FOSS</a> come <code class="literal">tar</code>(1) è cambiata nel
tempo nel modo seguente <code class="literal">gzip</code> → <code class="literal">bzip2</code> →
<code class="literal">xz</code></p>
              </li>
              <li class="listitem">
                <p><code class="literal">cp</code>(1), <code class="literal">scp</code>(1) e
<code class="literal">tar</code>(1) possono avere alcune limitazioni per file
speciali. <code class="literal">cpio</code>(1) è più versatile.</p>
              </li>
              <li class="listitem">
                <p><code class="literal">cpio</code>(1) è progettato per essere usato con
<code class="literal">find</code>(1) ed altri comandi adatti per creare script di
backup, dato che la porzione di selezione dei file dello script può essere
testata in modo autonomo.</p>
              </li>
              <li class="listitem">
                <p>La struttura interna dei file di dati di LibreOffice è quella dei file
«<code class="literal">.jar</code>» che può essere aperta anche da
<code class="literal">unzip</code>.</p>
              </li>
              <li class="listitem">
                <p>Lo strumento multipiattaforma di fatto usato per gli archivi è
<code class="literal">zip</code>. Usarlo come «<code class="literal">zip -rX</code>» per
ottenere la massima compatibilità. Usare anche l'opzione
«<code class="literal">-s</code>» se è importante la dimensione massima dei file.</p>
              </li>
            </ul>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_copy_and_synchronization_tools"/>10.1.2. Strumenti di copia e sincronizzazione</h3>
              </div>
            </div>
          </div>
          <p>Ecco una tabella riassuntiva dei semplici strumenti di copia e backup
disponibili in un sistema Debian.</p>
          <div class="table">
            <a id="listofcopyandsynhronizationtools"/>
            <p class="title">
              <strong>Tabella 10.2. Elenco di strumenti di copia e sincronizzazione</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Elenco di strumenti di copia e sincronizzazione" 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"/>
                </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"> strumento </th>
                    <th style="text-align: left"> funzione </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/coreutils">
<code class="literal">coreutils</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=coreutils">V:908, I:999</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/c/coreutils.html">18062</a>
                    </td>
                    <td style="text-align: left"> GNU cp </td>
                    <td style="text-align: left"> copia file e directory localmente ("-a" per modalità ricorsiva) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/openssh-client">
<code class="literal">openssh-client</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=openssh-client">V:856, I:997</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/o/openssh-client.html">5609</a>
                    </td>
                    <td style="text-align: left"> scp </td>
                    <td style="text-align: left"> copia file e directory da remoto (client, "<code class="literal">-r</code>" per
modalità ricorsiva) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/openssh-server">
<code class="literal">openssh-server</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=openssh-server">V:740, I:841</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/o/openssh-server.html">1867</a>
                    </td>
                    <td style="text-align: left"> sshd </td>
                    <td style="text-align: left"> copia file e directory da remoto (server remoto) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/rsync"> <code class="literal">rsync</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=rsync">V:285, I:567</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/r/rsync.html">776</a>
                    </td>
                    <td style="text-align: left"> </td>
                    <td style="text-align: left"> sincronizzazione e backup in remoto unidirezionale </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/unison">
<code class="literal">unison</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=unison">V:3, I:15</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/u/unison.html">14</a>
                    </td>
                    <td style="text-align: left"> </td>
                    <td style="text-align: left"> sincronizzazione e backup in remoto bidirezionale </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <br class="table-break"/>
          <p>La copia dei file con <code class="literal">rsync</code>(8) offre un insieme di
funzionalità più ricco di altri strumenti.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> l'algoritmo delta-transfer, che invia solamente le differenze tra il file
sorgente ed il file esistente nella destinazione </p>
              </li>
              <li class="listitem">
                <p> algoritmo veloce di verifica (predefinito) che cerca i file la cui
dimensione o il cui orario di ultima modifica sono cambiati </p>
              </li>
              <li class="listitem">
                <p> opzioni "<code class="literal">--exclude</code>" e "<code class="literal">--exclude-from</code>"
simili a quelle di <code class="literal">tar</code>(1) </p>
              </li>
              <li class="listitem">
                <p> sintassi con "una barra / alla fine della directory sorgente" che evita di
dover creare un livello aggiuntivo di directory nella destinazione  </p>
              </li>
            </ul>
          </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>Gli strumenti di controllo delle versioni VCS (Version control system) in
<a class="xref" href="ch10.it.html#list-of-vcs" title="Tabella 10.14. Elenco di altri strumenti per sistemi di controllo delle versioni">Tabella 10.14, «Elenco di altri strumenti per sistemi di controllo delle versioni»</a> possono essere usati come strumenti di copia e
sincronizzazione multidirezionali.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_idioms_for_the_archive"/>10.1.3. Esempi di invocazione per archivi</h3>
              </div>
            </div>
          </div>
          <p>Ecco diversi modi di archiviare ed estrarre archivi con l'intero contenuto
della directory "<code class="literal">./sorgente</code>", usando diversi strumenti.</p>
          <p>GNU <code class="literal">tar</code>(1):</p>
          <pre class="screen">$ tar -cvJf archive.tar.xz ./source
$ tar -xvJf archive.tar.xz</pre>
          <p>In alternativa usare i comandi seguenti.</p>
          <pre class="screen">$ find ./source -xdev -print0 | tar -cvJf archive.tar.xz --null -F -</pre>
          <p><code class="literal">cpio</code>(1):</p>
          <pre class="screen">$ find ./source -xdev -print0 | cpio -ov --null &gt; archive.cpio; xz archive.cpio
$ zcat archive.cpio.xz | cpio -i</pre>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_idioms_for_the_copy"/>10.1.4. Esempi di invocazione per la copia</h3>
              </div>
            </div>
          </div>
          <p>Ecco diversi modi di copiare l'intero contenuto della directory
"<code class="literal">./sorgente</code>", usando diversi strumenti.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> Copia locale: directory "<code class="literal">./sorgente</code>" → directory
"<code class="literal">/dest</code>" </p>
              </li>
              <li class="listitem">
                <p> Copia remota: directory "<code class="literal">./sourgente</code>" sull'host locale →
directory "<code class="literal">/dest</code>" sull'host
"<code class="literal">utente@host.dom</code>" </p>
              </li>
            </ul>
          </div>
          <p><code class="literal">rsync</code>(8):</p>
          <pre class="screen"># cd ./source; rsync -aHAXSv . /dest
# cd ./source; rsync -aHAXSv . user@host.dom:/dest</pre>
          <p>In alternativa si può usare la sintassi con "una barra / alla fine della
directory sorgente".</p>
          <pre class="screen"># rsync -aHAXSv ./source/ /dest
# rsync -aHAXSv ./source/ user@host.dom:/dest</pre>
          <p>In alternativa usare i comandi seguenti.</p>
          <pre class="screen"># cd ./source; find . -print0 | rsync -aHAXSv0 --files-from=- . /dest
# cd ./source; find . -print0 | rsync -aHAXSv0 --files-from=- . user@host.dom:/dest</pre>
          <p>GNU <code class="literal">cp</code>(1) e openSSH <code class="literal">scp</code>(1):</p>
          <pre class="screen"># cd ./source; cp -a . /dest
# cd ./source; scp -pr . user@host.dom:/dest</pre>
          <p>GNU <code class="literal">tar</code>(1):</p>
          <pre class="screen"># (cd ./source &amp;&amp; tar cf - . ) | (cd /dest &amp;&amp; tar xvfp - )
# (cd ./source &amp;&amp; tar cf - . ) | ssh user@host.dom '(cd /dest &amp;&amp; tar xvfp - )'</pre>
          <p><code class="literal">cpio</code>(1):</p>
          <pre class="screen"># cd ./source; find . -print0 | cpio -pvdm --null --sparse /dest</pre>
          <p>In tutti gli esempi contenenti "<code class="literal">.</code>", si può sostituire
"<code class="literal">.</code>" con "<code class="literal">pippo</code>" per copiare i file
dalla directory "<code class="literal">./sorgente/pippo</code>" alla directory
"<code class="literal">/dest/pippo</code>".</p>
          <p>In tutti gli esempi contenenti "<code class="literal">.</code>", si può sostituire
"<code class="literal">.</code>" con il percorso assoluto
"<code class="literal">/percorso/di/sorgente/pippo</code>" per evitare di fare
"<code class="literal">cd ./sorgente;</code>". I file verranno copiati in posizioni
diverse a seconda dello strumento utilizzato, come descritto qui di seguito.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> in "<code class="literal">/dest/pippo</code>": <code class="literal">rsync</code>(8), GNU
<code class="literal">cp</code>(1) e <code class="literal">scp</code>(1) </p>
              </li>
              <li class="listitem">
                <p> "<code class="literal">/dest/percorso/di/sorgente/pippo</code>": GNU
<code class="literal">tar</code>(1) e <code class="literal">cpio</code>(1) </p>
              </li>
            </ul>
          </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><code class="literal">rsync</code>(8) e GNU <code class="literal">cp</code>(1) hanno l'opzione
"<code class="literal">-u</code>" per saltare i file che sono più recenti nella
destinazione.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_idioms_for_the_selection_of_files"/>10.1.5. Esempi di invocazione per la selezione di file</h3>
              </div>
            </div>
          </div>
          <p><code class="literal">find</code>(1) viene usato per selezionare i  file per i comandi
di archiviazione e copia (vedere <a class="xref" href="ch10.it.html#_idioms_for_the_archive" title="10.1.3. Esempi di invocazione per archivi">Sezione 10.1.3, «Esempi di invocazione per archivi»</a> e
<a class="xref" href="ch10.it.html#_idioms_for_the_copy" title="10.1.4. Esempi di invocazione per la copia">Sezione 10.1.4, «Esempi di invocazione per la copia»</a>) o per <code class="literal">xargs</code>(1)
(vedere <a class="xref" href="ch09.it.html#_repeating_a_command_looping_over_files" title="9.4.9. Ripetere un comando su diversi file">Sezione 9.4.9, «Ripetere un comando su diversi file»</a>).  Questo
funzionamento può essere migliorato usando le sue opzioni di comando.</p>
          <p>La sintassi base di <code class="literal">find</code>(1) può essere riassunta nel modo
seguente.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> Gli argomenti condizionali sono valutati da sinistra a destra.  </p>
              </li>
              <li class="listitem">
                <p> Questa valutazione si ferma una volta che il risultato è determinato.  </p>
              </li>
              <li class="listitem">
                <p> L'operatore "<span class="strong"><strong>OR</strong></span> logico" (specificato con
"<code class="literal">-o</code>" tra condizioni) ha una precedenza più bassa
dell'operatore "<span class="strong"><strong>AND</strong></span> logico" (specificato
da "<code class="literal">-a</code>" o dall'assenza di un operatore tra condizioni).  </p>
              </li>
              <li class="listitem">
                <p> L'operatore "<span class="strong"><strong>NOT</strong></span> logico" (specificato da
"<code class="literal">!</code>" prima di una condizione) ha una precedenza più alta
di un operatore "<span class="strong"><strong>AND</strong></span> logico".  </p>
              </li>
              <li class="listitem">
                <p> L'opzione "<code class="literal">-prune</code>" restituisce sempre una condizione di
<span class="strong"><strong>VERO</strong></span> logico e, se si tratta di una
directory, la ricerca si ferma a questo punto.  </p>
              </li>
              <li class="listitem">
                <p> L'opzione "<code class="literal">-name</code> trova corrispondenze con il nome base
del file tramite espressioni glob di shell (vedere <a class="xref" href="ch01.it.html#_shell_glob" title="1.5.6. Glob della shell">Sezione 1.5.6, «Glob della shell»</a>), ma fa corrispondenza anche con il carattere
iniziale "<code class="literal">.</code>" con l'uso di metacaratteri come
"<code class="literal">*</code>" e "<code class="literal">?</code>". (Nuova funzionalità <a class="ulink" href="https://it.wikipedia.org/wiki/POSIX">POSIX</a>.) </p>
              </li>
              <li class="listitem">
                <p> L'opzione "<code class="literal">-regex</code>" trova corrispondenze con il percorso
completo usando, in modo predefinito, <span class="strong"><strong>BRE</strong></span>
in stile emacs (vedere <a class="xref" href="ch01.it.html#_regular_expressions" title="1.6.2. Espressioni regolari">Sezione 1.6.2, «Espressioni regolari»</a>).  </p>
              </li>
              <li class="listitem">
                <p> L'opzione "<code class="literal">-size</code>" trova corrispondenze con file in base
alla loro dimensione (valori preceduti da "<code class="literal">+</code>" o
"<code class="literal">-</code>" per cercare dimensioni, rispettivamente, più grandi o
piccole del valore). </p>
              </li>
              <li class="listitem">
                <p> L'opzione "<code class="literal">-newer</code>" trova corrispondenze con file più
recenti di quello specificato come argomento dell'opzione.  </p>
              </li>
              <li class="listitem">
                <p> L'opzione "<code class="literal">-print0</code>" restituisce sempre il valore logico
<span class="strong"><strong>VERO</strong></span> e stampa il nome file completo
(<a class="ulink" href="https://en.wikipedia.org/wiki/Null_character">terminato dal carattere null</a>) sullo
standard output.  </p>
              </li>
            </ul>
          </div>
          <p><code class="literal">find</code>(1) è spesso usato con uno stile di invocazione come
il seguente.</p>
          <pre class="screen"># find /path/to \
    -xdev -regextype posix-extended \
    -type f -regex ".*\.cpio|.*~" -prune -o \
    -type d -regex ".*/\.git" -prune -o \
    -type f -size +99M -prune -o \
    -type f -newer /path/to/timestamp -print0</pre>
          <p>Il comando precedente si traduce nelle azioni seguenti.</p>
          <div class="orderedlist">
            <ol class="orderedlist">
              <li class="listitem">
                <p> Cercare tutti i file a partire da "<code class="literal">/percorso/di</code>" </p>
              </li>
              <li class="listitem">
                <p> Limitare globalmente la ricerca al file system da cui è richiamato e usare
espressioni regolari <span class="strong"><strong>ERE</strong></span> (vedere <a class="xref" href="ch01.it.html#_regular_expressions" title="1.6.2. Espressioni regolari">Sezione 1.6.2, «Espressioni regolari»</a>) </p>
              </li>
              <li class="listitem">
                <p> Escludere i file che corrispondono all'espressione regolare
"<code class="literal">.*\.cpio</code>" o "<code class="literal">.*~</code>" dalla ricerca
fermando la loro elaborazione </p>
              </li>
              <li class="listitem">
                <p> Escludere le directory che corrispondono all'espressione regolare
"<code class="literal">.*/\.git</code>" dalla ricerca fermando la loro elaborazione </p>
              </li>
              <li class="listitem">
                <p> Escludere i file più grandi di 99 Megabyte (unità di 1048576 byte) dalla
ricerca fermando la loro elaborazione </p>
              </li>
              <li class="listitem">
                <p> Stampare i nomi di file che soddisfano le condizioni di ricerca precedenti e
che siano più recenti di "<code class="literal">/percorso/di/marcaturaorario</code>" </p>
              </li>
            </ol>
          </div>
          <p>Notare nell'esempio precedente l'uso della parte di comando "<code class="literal">-prune
-o</code> per escludere file.</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>Alcune opzioni per <code class="literal">find</code>(1) potrebbero non essere
supportate per i sistemi <a class="ulink" href="https://it.wikipedia.org/wiki/Unix-like">*nix</a> non Debian. In
questi casi, cambiare le invocazioni in quelle adatte corrispondenti e
sostituire "<code class="literal">-print0</code>" con
"<code class="literal">-print</code>". Potrebbe essere necessario modificare anche
comandi correlati.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_archive_media"/>10.1.6. Supporti di archiviazione</h3>
              </div>
            </div>
          </div>
          <p>Quando si deve scegliere il <a class="ulink" href="https://it.wikipedia.org/wiki/Memoria_(informatica)">supporto
di archiviazione di dati informatici</a> per un importante archivio di
dati, si dovrebbe porre attenzione alle limitazioni dei supporti. Per
piccoli backup di dati personali, io uso CD-R e DVD-R scegliendoli in base
alla marca del produtttore e conservandoli in un ambiente fresco, all'ombra,
asciutto e pulito. (I supporti di archiviazione a nastro sembrano molto
popolari per gli usi professionali.)</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>Le <a class="ulink" href="https://it.wikipedia.org/wiki/Cassaforte">casseforti a prova di fuoco</a>
sono pensate per i documenti cartacei. La maggior parte dei supporti di
archiviazione di dati informatici ha una tolleranza più bassa alle alte
temperature rispetto alla carta. Di solito mi affido a copie multiple
cifrate sicure conservate in diverse posizioni sicure.</p>
                </td>
              </tr>
            </table>
          </div>
          <p>Durata di vita ottimistica di diversi supporti di archiviazione da dati
raccolti in rete (per lo più dalle informazioni dei produttori).</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> 100+ anni: carta senza acidi con inchiostro </p>
              </li>
              <li class="listitem">
                <p> 100 anni: supporti ottici (CD/DVD, CD/DVD-R) </p>
              </li>
              <li class="listitem">
                <p> 30 anni: supporti magnetici (nastri, dischetti floppy) </p>
              </li>
              <li class="listitem">
                <p> 20 anni: supporti ottici a cambio di fase (CD-RW) </p>
              </li>
            </ul>
          </div>
          <p>Questi tempi non tengono conto dei danni meccanici causati dal
maneggiamento, ecc.</p>
          <p>Cicli di scrittura ottimistici di diversi supporti di archiviazione da dati
raccolti in rete (per lo più dalle informazioni dei produttori).</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> 250,000+ cicli: unità a disco fisso </p>
              </li>
              <li class="listitem">
                <p> 10,000+ cicli: memoria flash </p>
              </li>
              <li class="listitem">
                <p> 1,000 cicli: CD/DVD-RW </p>
              </li>
              <li class="listitem">
                <p> 1 ciclo: CD/DVD-R, carta </p>
              </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>I valori di durata di vita e dei cicli di scrittura riportati non dovrebbero
essere usati per prendere decisioni riguardo all'archiviazione di dati
critici. Consultare le informazioni specifiche per ciascun prodotto forniti
dal produttore.</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>Dato che i CD/DVD-R e la carta hanno un solo ciclo di scrittura, prevengono
per loro stessa natura le perdite accidentali di dati per
sovrascrittura. Questo è un vantaggio!</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>Se è necessario fare backup frequenti e veloci di una grande quantità di
dati, un disco fisso su un host remoto connesso con una connessione veloce,
potrebbe essere l'unica soluzione realistica.</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>Se si usano supporti riscrivibili per i backup, l'uso di file system come
<a class="ulink" href="https://it.wikipedia.org/wiki/Btrfs">btrfs</a> o <a class="ulink" href="https://en.wikipedia.org/wiki/ZFS">zfs</a> che
supportano solo istantanee in sola lettura potrebbe essere una buona idea.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_removable_storage_device"/>10.1.7. Supporti di archiviazione removibili</h3>
              </div>
            </div>
          </div>
          <p>Un support di archiviazione removibile può essere uno dei seguenti.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> <a class="ulink" href="https://it.wikipedia.org/wiki/Chiave_USB">Unità flash USB</a> </p>
              </li>
              <li class="listitem">
                <p> <a class="ulink" href="https://en.wikipedia.org/wiki/Hard_disk_drive">Unità a disco fisso</a> </p>
              </li>
              <li class="listitem">
                <p> <a class="ulink" href="https://en.wikipedia.org/wiki/Optical_disc_drive">Unità a dischi ottici</a> </p>
              </li>
              <li class="listitem">
                <p> Fotocamera digitale </p>
              </li>
              <li class="listitem">
                <p> Lettore audio digitale </p>
              </li>
            </ul>
          </div>
          <p>Possono essere connessi in uno dei modi seguenti.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> <a class="ulink" href="https://it.wikipedia.org/wiki/Universal_Serial_Bus">USB</a> </p>
              </li>
              <li class="listitem">
                <p> <a class="ulink" href="https://en.wikipedia.org/wiki/IEEE_1394">IEEE 1394 / FireWire</a> </p>
              </li>
              <li class="listitem">
                <p> <a class="ulink" href="https://it.wikipedia.org/wiki/PC_Card">Scheda PC</a> </p>
              </li>
            </ul>
          </div>
          <p>Gli ambienti desktop moderni, come GNOME e KDE, possono montare questi
dispositivi removibili automaticamente senza una voce corrispondente in
"<code class="literal">/etc/fstab</code>".</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p>Il pacchetto <code class="literal">udisks2</code> fornisce un demone e le utilità
associate per montare e smontare questi dispositivi.  </p>
              </li>
              <li class="listitem">
                <p><a class="ulink" href="https://it.wikipedia.org/wiki/D-Bus">D-bus</a> crea eventi per dare inizio ai processi
automatici.  </p>
              </li>
              <li class="listitem">
                <p><a class="ulink" href="https://it.wikipedia.org/wiki/PolicyKit">PolicyKit</a> fornisce i privilegi necessari.  </p>
              </li>
            </ul>
          </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>I dispositivi montati automaticamente hanno l'opzione di mount
"<code class="literal">uhelper=</code>" che viene usata da
<code class="literal">umount</code>(8).</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>Nei moderni ambienti desktop il montaggio automatico avviene solo quando i
device dei supporti removibili non sono elencati in
"<code class="literal">/etc/fstab</code>".</p>
                </td>
              </tr>
            </table>
          </div>
          <p>Il punto di mount negli ambienti desktop moderni viene scelto come
"<code class="literal">/media/<span class="emphasis"><em>nomeutente/etichetta_disco</em></span></code>"
che può essere personalizzato nel modo seguente.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p><code class="literal">mlabel</code>(1) per file system FAT </p>
              </li>
              <li class="listitem">
                <p><code class="literal">genisoimage</code>(1) con l'opzione "<code class="literal">-V</code>" per
file system ISO9660 </p>
              </li>
              <li class="listitem">
                <p><code class="literal">tune2fs</code>(1) con l'opzione "<code class="literal">-L</code>" per file
system ext2/ext3/ext4 </p>
              </li>
            </ul>
          </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>Può essere necessario fornire come opzione di montaggio la scelta della
codifica (vedere <a class="xref" href="ch08.it.html#_filename_encoding" title="8.1.3. Codifica per i nomi di file">Sezione 8.1.3, «Codifica per i nomi di file»</a>).</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>L'uso del menu GUI per smontare un file system può rimuovere il suo nodo di
device generato dinamicamente come "<code class="literal">/dev/sdc</code>".  Se si
desidera mantenere il suo nodo di device, smontarlo con il comando
<code class="literal">umount</code>(8) dal prompt di shell.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_filesystem_choice_for_sharing_data"/>10.1.8. Scelta del file system per la condivisione di dati</h3>
              </div>
            </div>
          </div>
          <p>Quando si condividono dati con un altro sistema attraverso dispositivi di
archiviazione removibili, quest'ultimi andrebbero formattati con un <a class="ulink" href="https://it.wikipedia.org/wiki/File_system">filesystem</a> comune supportato da entrambi i
sistemi. Quello che segue è un elenco delle scelte possibili per il file
system.</p>
          <div class="table">
            <a id="listoffilesystemalusagescenarios"/>
            <p class="title">
              <strong>Tabella 10.3. Elenco di possibili scelte per il file system di dispositivi di
archiviazione removibili con scenari di uso tipici</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Elenco di possibili scelte per il file system di dispositivi di&#10;archiviazione removibili con scenari di uso tipici" border="1">
                <colgroup>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                </colgroup>
                <thead>
                  <tr>
                    <th style="text-align: left"> nome del file system </th>
                    <th style="text-align: left"> scenario di uso tipico </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/File_Allocation_Table">FAT12</a> </td>
                    <td style="text-align: left"> condivisione interpiattaforma di dati su dischetti floppy (&lt;32MiB) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/File_Allocation_Table">FAT16</a> </td>
                    <td style="text-align: left"> condivisione interpiattaforma di dati su dispositivi come piccoli dischi
fissi (&lt;2GiB) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/File_Allocation_Table">FAT32</a> </td>
                    <td style="text-align: left"> condivisione interpiattaforma di dati su dispositivi come grandi dischi
fissi (&lt;8TiB, supportato da sistemi più recenti di MS Windows95 OSR2) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/ExFAT">exFAT</a> </td>
                    <td style="text-align: left"> condivisione interpiattaforma di dati su dispositivi come grandi dischi
fissi (&lt;512TiB, supportato da WindowsXP, Mac OS X Snow Leopard 10.6.5 e
kernel Linux sin dal rilascio 5.4. </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/NTFS">NTFS</a> </td>
                    <td style="text-align: left"> condivisione interpiattaforma di dati su dispositivi come grandi dischi
fissi (supportato nativamente su <a class="ulink" href="https://it.wikipedia.org/wiki/Windows_NT">MS Windows
NT</a> e versioni successive e supportato da <a class="ulink" href="https://it.wikipedia.org/wiki/NTFS-3G">NTFS-3G</a> attraverso <a class="ulink" href="https://it.wikipedia.org/wiki/FUSE">FUSE</a>
in Linux) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/ISO_9660">ISO9660</a> </td>
                    <td style="text-align: left"> condivisione interpiattaforma di dati statici su CD-R e DVD+/-R </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/Universal_Disk_Format">UDF</a> </td>
                    <td style="text-align: left"> scrittura incrementale di dati su CD-R e DVD+/-R (nuovo) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/Minix_file_system">MINIX</a> </td>
                    <td style="text-align: left"> archiviazione, efficiente in termini di spazio, di file dati unix su
dischetti floppy </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/Ext2">ext2</a> </td>
                    <td style="text-align: left"> condivisione di dati su dispositivi come dischi fissi con sistemi Linux più
vecchi </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/Ext3">ext3</a> </td>
                    <td style="text-align: left"> condivisione di dati su dispositivi come dischi fissi con sistemi Linux più
vecchi </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/Ext4">ext4</a> </td>
                    <td style="text-align: left"> condivisione di dati su dispositivi come dischi fissi con sistemi Linux
recenti </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/Btrfs">btrfs</a> </td>
                    <td style="text-align: left"> condivisione di dati su dispositivi come dischi fissi con sistemi Linux
recenti con istantanee in sola lettura</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 <a class="xref" href="ch09.it.html#_removable_disk_encryption_with_dm_crypt_luks" title="9.9.1. Cifratura di dischi removibili con dm-crypt/LUKS">Sezione 9.9.1, «Cifratura di dischi removibili con dm-crypt/LUKS»</a> per
la condivisione interpiattaforma di dati usando cifratura a livello di
dispositivo.</p>
                </td>
              </tr>
            </table>
          </div>
          <p>Il file system FAT è supportato da quasi tutti i sistemi operativi moderni
ed è piuttosto utile per scopi di scambio di dati attraverso supporti come
dischi fissi removibili.</p>
          <p>Quando si formatta un dispositivo come un disco fisso removibile con il file
system FAT per la condivisione interpiattaforma di dati, le scelte seguenti
dovrebbero essere quelle più sicure.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p>
Partizionare con <code class="literal">fdisk</code>(8), <code class="literal">cfdisk</code>(8) o
<code class="literal">parted</code>(8) (vedere <a class="xref" href="ch09.it.html#_disk_partition_configuration" title="9.6.2. Configurazione del partizionamento dei dischi">Sezione 9.6.2, «Configurazione del partizionamento dei dischi»</a>) creando un'unica partizione
primaria e marcarla nel modo seguente.
</p>
                <div class="itemizedlist">
                  <ul class="itemizedlist">
                    <li class="listitem">
                      <p> Tipo "6", cioè FAT16, per supporti più piccoli di 2GB.  </p>
                    </li>
                    <li class="listitem">
                      <p> Tipo "c", cioè FAT32 (LBA), per supporti più grandi.  </p>
                    </li>
                  </ul>
                </div>
              </li>
              <li class="listitem">
                <p> Formattare la partizione primaria con <code class="literal">mkfs.vfat</code>(8) nel
modo seguente.  </p>
                <div class="itemizedlist">
                  <ul class="itemizedlist">
                    <li class="listitem">
                      <p> Per FAT16, semplicemente con il suo nome di device, ad esempio
"<code class="literal">/dev/sda1</code>". </p>
                    </li>
                    <li class="listitem">
                      <p> Per FAT32, con il suo nome di device e l'opzione esplicita, ad esempio
"<code class="literal">-F 32 /dev/sda1</code>" </p>
                    </li>
                  </ul>
                </div>
              </li>
            </ul>
          </div>
          <p>Quando si usano i file system FAT o ISO9660 per la condivisione dei dati,
per essere sicuri dei risultati, si dovrebbero considerare i seguenti
aspetti.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> Archiviare prima i file in un file di archivio usando
<code class="literal">tar</code>(1) o <code class="literal">cpio</code>(1) per mantenere i nomi
di file lunghi, i collegamenti simbolici, i permessi Unix sui file originali
e le informazioni sui proprietari.  </p>
              </li>
              <li class="listitem">
                <p> Suddividere il file di archivio in pezzi più piccoli di 2 GiB con il comando
<code class="literal">split</code>(1) per proteggerli da limitazioni sulla dimensione
dei file.  </p>
              </li>
              <li class="listitem">
                <p> Cifrare il file archivio per proteggere i suoi contenuti da accesso non
autorizzato.  </p>
              </li>
            </ul>
          </div>
          <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>Il file system FAT, per sua stessa natura, permette una dimensione massima
per i file di <code class="literal">(2^32 - 1) byte = (4GiB - 1 byte)</code>. Per
alcune applicazioni su sistemi operativi a 32 bit più vecchi, la dimensione
massima per i file era ancora più piccola: <code class="literal">(2^31 - 1) byte = (2GiB
- 1 byte)</code>. Debian non soffre di quest'ultima limitazione.</p>
                </td>
              </tr>
            </table>
          </div>
          <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>La stessa Microsoft non raccomanda l'uso di FAT per le unità o le partizioni
più grandi di 200 MB. Microsoft evidenzia le sue limitazioni, quali un uso
inefficiente dello spazio su disco, nel documento "<a class="ulink" href="http://support.microsoft.com/kb/100108/">Overview of FAT, HPFS, and NTFS
File Systems</a>". Naturalmente per Linux si dovrebbe normalmente usare
il file system ext4.</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>Per maggiori informazioni sui file system e sull'accesso ad essi, leggere il
"<a class="ulink" href="http://tldp.org/HOWTO/Filesystems-HOWTO.html">Filesystems HOWTO</a>".</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_sharing_data_via_network"/>10.1.9. Condividere dati attraverso una rete</h3>
              </div>
            </div>
          </div>
          <p>Quando si condividono dati con un altro sistema attraverso una rete, si
dovrebbero tenere a mente i servizi comuni. Ecco alcuni suggerimenti.</p>
          <div class="table">
            <a id="listofthenetworkcalusagescenario"/>
            <p class="title">
              <strong>Tabella 10.4. Elenco dei servizi di rete da scegliere in base allo scenario di uso tipico</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Elenco dei servizi di rete da scegliere in base allo scenario di uso tipico" border="1">
                <colgroup>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                </colgroup>
                <thead>
                  <tr>
                    <th style="text-align: left"> servizio di rete </th>
                    <th style="text-align: left"> descrizione dello scenario di uso tipico </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left">file system montato di rete <a class="ulink" href="https://it.wikipedia.org/wiki/Server_message_block">SMB/CIFS</a> con
<a class="ulink" href="https://it.wikipedia.org/wiki/Samba_(software)">Samba</a> </td>
                    <td style="text-align: left"> condivisione di file attraverso "rete Microsoft Windows", vedere
<code class="literal">smb.conf</code>(5) e <a class="ulink" href="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/">The Official Samba 3.x.x HOWTO and
Reference Guide</a> o il pacchetto <code class="literal">samba-doc</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">file system montato di rete <a class="ulink" href="https://it.wikipedia.org/wiki/Network_File_System">NFS</a> con il kernel
Linux </td>
                    <td style="text-align: left"> condivisione di file attraverso "rete Unix/Linux", vedere
<code class="literal">exports</code>(5) e <a class="ulink" href="http://tldp.org/HOWTO/NFS-HOWTO/index.html">Linux
NFS-HOWTO</a> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">servizio <a class="ulink" href="https://it.wikipedia.org/wiki/Hypertext_Transfer_Protocol">HTTP</a> </td>
                    <td style="text-align: left"> condivisione di file tra client/server web </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">servizio <a class="ulink" href="https://it.wikipedia.org/wiki/Https">HTTPS</a> </td>
                    <td style="text-align: left"> condivisione di file tra client/server web con SSL (Secure Sockets Layer)
cifrato o <a class="ulink" href="https://it.wikipedia.org/wiki/Transport_Layer_Security">TLS (Transport Layer
Security)</a> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">servizio <a class="ulink" href="https://it.wikipedia.org/wiki/File_Transfer_Protocol">FTP</a> </td>
                    <td style="text-align: left"> condivisione di file tra client/server FTP </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <br class="table-break"/>
          <p>Sebbene questi file system montati in rete e metodi di trasferimento di file
attraverso la rete siano piuttosto comodi per la condivisione dei dati,
possono essere non sicuri. La loro connessione di rete deve essere resa
sicura nel modo seguente.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> Cifrarli con <a class="ulink" href="https://it.wikipedia.org/wiki/Transport_Layer_Security">SSL/TLS</a> </p>
              </li>
              <li class="listitem">
                <p> Usarli in tunnel <a class="ulink" href="https://it.wikipedia.org/wiki/Secure_Shell">SSH</a> </p>
              </li>
              <li class="listitem">
                <p> Usarli in tunnel <a class="ulink" href="https://it.wikipedia.org/wiki/Virtual_Private_Network">VPN</a> </p>
              </li>
              <li class="listitem">
                <p> Limitarli dietro ad un firewall sicuro </p>
              </li>
            </ul>
          </div>
          <p>Vedere anche <a class="xref" href="ch06.it.html#_other_network_application_servers" title="6.5. Altri server di rete">Sezione 6.5, «Altri server di rete»</a> e <a class="xref" href="ch06.it.html#_other_network_application_clients" title="6.6. Altri client di rete">Sezione 6.6, «Altri client di rete»</a>.</p>
        </div>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_backup_and_recovery"/>10.2. Backup e ripristino</h2>
            </div>
          </div>
        </div>
        <p>Tutti sanno che i computer a volte si danneggiano oppure errori umani
causano danni al sistema e ai dati. Le operazioni di backup e ripristino
sono una parte essenziale di un'amministrazione di sistema di
successo. Tutte i possibili modi in cui si possono creare danni si
verificano prima o poi.</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>Mantenere il proprio sistema di backup semplice e fare il backup di sistema
spesso. Avere dati di backup è più importante della qualità tecnica del
metodo di backup.</p>
              </td>
            </tr>
          </table>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_backup_and_recovery_policy"/>10.2.1. Politica di backup e ripristino</h3>
              </div>
            </div>
          </div>
          <p>Ci sono 3 fattori chiave che determinano la reale politica di backup e
ripristino.</p>
          <div class="orderedlist">
            <ol class="orderedlist">
              <li class="listitem">
                <p> Sapere di cosa fare il backup ed il ripristino  </p>
                <div class="itemizedlist">
                  <ul class="itemizedlist">
                    <li class="listitem">
                      <p> I file dati direttamente creati dall'utente: in "<code class="literal">~/</code>" </p>
                    </li>
                    <li class="listitem">
                      <p> I file dati creati da applicazioni usate dall'utente: dati in
"<code class="literal">/var/</code>" (tranne "<code class="literal">/var/cache/</code>",
"<code class="literal">/var/run/</code>" e "<code class="literal">/var/tmp/</code>") </p>
                    </li>
                    <li class="listitem">
                      <p> File di configurazione del sistema: dati in "<code class="literal">/etc/</code>" </p>
                    </li>
                    <li class="listitem">
                      <p> Programmi locali: dati in "<code class="literal">/usr/local/</code>" o
"<code class="literal">/opt/</code>" </p>
                    </li>
                    <li class="listitem">
                      <p> Informazioni di installazione del sistema: un memorandum in puro testo sui
passi chiave (partizioni, …) </p>
                    </li>
                    <li class="listitem">
                      <p> Insiemi di dati comprovati: confermati da operazioni preventive sperimentali
di ripristino </p>
                      <div class="itemizedlist">
                        <ul class="itemizedlist">
                          <li class="listitem">
                            <p> Compito di cron come processo di un utente; file nella directory
"<code class="literal">/var/spool/cron/crontabs</code>" e riavvio di
<code class="literal">cron</code>(8). Vedere <a class="xref" href="ch09.it.html#_scheduling_tasks_regularly" title="9.4.14. Pianificare compiti in modo regolare">Sezione 9.4.14, «Pianificare compiti in modo regolare»</a> per <code class="literal">cron</code>(8) e
<code class="literal">crontab</code>(1).</p>
                          </li>
                          <li class="listitem">
                            <p> Compiti temporizzati di systemd come processi utente: file nella directory
"<code class="literal">~/.config/systemd/user</code>". Vedere
<code class="literal">systemd.timer</code>(5) e <code class="literal">systemd.service</code>(5).</p>
                          </li>
                          <li class="listitem">
                            <p> Compiti automatici all'avvio come processi utente: file nella directory
"<code class="literal">~/.config/autostart</code>". Vedere <a class="ulink" href="http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html">Specifica per l'avvio automatico di
applicazioni desktop</a>.</p>
                          </li>
                        </ul>
                      </div>
                    </li>
                  </ul>
                </div>
              </li>
              <li class="listitem">
                <p> Sapere come fare il backup ed il ripristino </p>
                <div class="itemizedlist">
                  <ul class="itemizedlist">
                    <li class="listitem">
                      <p> Rendere sicura l'archiviazione dei dati: protezione da sovrascritture e
fallimenti del sistema </p>
                    </li>
                    <li class="listitem">
                      <p> Backup frequenti: backup pianificati </p>
                    </li>
                    <li class="listitem">
                      <p> Backup ridondanti: mirror di dati </p>
                    </li>
                    <li class="listitem">
                      <p> Procedura a prova di idioti: singolo facile comando di backup </p>
                    </li>
                  </ul>
                </div>
              </li>
              <li class="listitem">
                <p> Valutazione dei rischi e dei costi </p>
                <div class="itemizedlist">
                  <ul class="itemizedlist">
                    <li class="listitem">
                      <p> Rischio della perdita di dati </p>
                      <div class="itemizedlist">
                        <ul class="itemizedlist">
                          <li class="listitem">
                            <p>I dati dovrebbere come minimo essere su partizioni del disco diverse,
preferibilmente su dischi e macchine diversi per sopravvivere alla
corruzione del file system. È meglio archiviare i dati importanti su un file
system in sola lettura. <a href="#ftn.idm18702" class="footnote" id="idm18702"><sup class="footnote">[4]</sup></a> </p>
                          </li>
                        </ul>
                      </div>
                    </li>
                    <li class="listitem">
                      <p> Rischio dell'accesso non consentito a dati </p>
                      <div class="itemizedlist">
                        <ul class="itemizedlist">
                          <li class="listitem">
                            <p>Dati sensibili relativi all'identità dell'utente, come
"<code class="literal">/etc/ssh/ssh_host_*_key</code>",
"<code class="literal">~/.gnupg/*</code>", "<code class="literal">~/.ssh/*</code>",
"<code class="literal">~/.local/share/keyrings/*</code>",
"<code class="literal">/etc/passwd</code>", "<code class="literal">/etc/shadow</code>",
"<code class="literal">popularity-contest.conf</code>",
"<code class="literal">/etc/ppp/pap-secrets</code>" e
"<code class="literal">/etc/exim4/passwd.client</code>" dovrebbero essere archiviati
in backup cifrati <a href="#ftn.idm18719" class="footnote" id="idm18719"><sup class="footnote">[5]</sup></a> (Vedere <a class="xref" href="ch09.it.html#_data_encryption_tips" title="9.9. Suggerimenti per la cifratura dei dati">Sezione 9.9, «Suggerimenti per la cifratura dei dati»</a>.)</p>
                          </li>
                          <li class="listitem">
                            <p>Non inserire mai in modo fisso la password di login nel sistema o la
passphrase di decifrazione nel codice di alcun script, nemmeno in un sistema
fidato. (Vedere <a class="xref" href="ch10.it.html#_password_keyring" title="10.3.6. Portachiavi per le password">Sezione 10.3.6, «Portachiavi per le password»</a>.)</p>
                          </li>
                        </ul>
                      </div>
                    </li>
                    <li class="listitem">
                      <p> Modi in cui le cose possono andare storte e loro probabilità </p>
                      <div class="itemizedlist">
                        <ul class="itemizedlist">
                          <li class="listitem">
                            <p> L'hardware (specialmente gli HDD) si rompe </p>
                          </li>
                          <li class="listitem">
                            <p> I file system possono diventare corrotti e i dati in essi possono venire
persi </p>
                          </li>
                          <li class="listitem">
                            <p> Non ci si può fidare che i sistemi di archiviazione in remoto non abbiano
falle di sicurezza. </p>
                          </li>
                          <li class="listitem">
                            <p> Una protezione con password deboli può essere facilmente compromessa </p>
                          </li>
                          <li class="listitem">
                            <p> Il sistema dei permessi dei file può venir compromesso </p>
                          </li>
                        </ul>
                      </div>
                    </li>
                    <li class="listitem">
                      <p> Risorse necessarie per il backup: umane, hardware, software, … </p>
                      <div class="itemizedlist">
                        <ul class="itemizedlist">
                          <li class="listitem">
                            <p> Backup automatici pianificati con compiti di cron o temporizzati di systemd </p>
                          </li>
                        </ul>
                      </div>
                    </li>
                  </ul>
                </div>
              </li>
            </ol>
          </div>
          <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>Non fare il backup dei contenuti dei pseudo file system che si trovano in
<code class="literal">/proc</code>, <code class="literal">/sys</code>, <code class="literal">/tmp</code> e
<code class="literal">/run</code> (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> e <a class="xref" href="ch01.it.html#_tmpfs" title="1.2.13. tmpfs">Sezione 1.2.13, «tmpfs»</a>). A meno di non sapere esattamente ciò che si sta
facendo, sono un'enorme mole di dati senza utilità.</p>
                </td>
              </tr>
            </table>
          </div>
          <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>Durante il backup dei dati può essere preferibile fermare alcuni demoni
applicativi come l'MTA (vedere <a class="xref" href="ch06.it.html#_mail_transport_agent_mta" title="6.2.4. Agente di trasporto della posta (MTA)">Sezione 6.2.4, «Agente di trasporto della posta (MTA)»</a>).</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_backup_utility_suites"/>10.2.2. Suite con utilità di backup</h3>
              </div>
            </div>
          </div>
          <p>Quello che segue è un elenco di importanti suite di utilità di backup
disponibili in un sistema Debian</p>
          <div class="table">
            <a id="listofbackupsuiteutilities"/>
            <p class="title">
              <strong>Tabella 10.5. Elenco di suite con utilità di backup</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Elenco di suite con utilità di backup" 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/dump"> <code class="literal">dump</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=dump">V:1, I:5</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/d/dump.html">351</a>
                    </td>
                    <td style="text-align: left"> <code class="literal">dump</code>(8) e <code class="literal">restore</code>(8) di <a class="ulink" href="https://it.wikipedia.org/wiki/Berkeley_Software_Distribution">BSD</a> 4.4 per file system <a class="ulink" href="https://it.wikipedia.org/wiki/Ext2">ext2</a>/<a class="ulink" href="https://it.wikipedia.org/wiki/Ext3">ext3</a>/<a class="ulink" href="https://it.wikipedia.org/wiki/Ext4">ext4</a> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/xfsdump">
<code class="literal">xfsdump</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=xfsdump">V:0, I:8</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/x/xfsdump.html">848</a>
                    </td>
                    <td style="text-align: left"> dump e ripristino con <code class="literal">xfsdump</code>(8) e
<code class="literal">xfsrestore</code>(8) per file system <a class="ulink" href="https://it.wikipedia.org/wiki/XFS_(file_system)">XFS</a> in GNU/Linux e <a class="ulink" href="https://it.wikipedia.org/wiki/Irix">IRIX</a> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/backupninja">
<code class="literal">backupninja</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=backupninja">V:3, I:4</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/b/backupninja.html">367</a>
                    </td>
                    <td style="text-align: left"> sistema di <span class="strong"><strong>meta-backup</strong></span> leggero ed
estensibile </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/bacula-common">
<code class="literal">bacula-common</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=bacula-common">V:10, I:12</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/b/bacula-common.html">2120</a>
                    </td>
                    <td style="text-align: left"><a class="ulink" href="https://en.wikipedia.org/wiki/Bacula">Bacula</a>: backup, ripristino e controllo in rete
- file comuni di supporto </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/bacula-client">
<code class="literal">bacula-client</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=bacula-client">I:3</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/b/bacula-client.html">183</a>
                    </td>
                    <td style="text-align: left"><a class="ulink" href="https://en.wikipedia.org/wiki/Bacula">Bacula</a>: backup, ripristino e controllo in rete
- metapacchetto client </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/bacula-console">
<code class="literal">bacula-console</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=bacula-console">V:0, I:4</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/b/bacula-console.html">104</a>
                    </td>
                    <td style="text-align: left"><a class="ulink" href="https://en.wikipedia.org/wiki/Bacula">Bacula</a>: backup, ripristino e controllo in rete
- console testuale </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/bacula-server">
<code class="literal">bacula-server</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=bacula-server">I:1</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/b/bacula-server.html">183</a>
                    </td>
                    <td style="text-align: left"><a class="ulink" href="https://en.wikipedia.org/wiki/Bacula">Bacula</a>: backup, ripristino e controllo in rete
- metapacchetto server </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/amanda-common">
<code class="literal">amanda-common</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=amanda-common">V:0, I:2</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/a/amanda-common.html">9937</a>
                    </td>
                    <td style="text-align: left"><a class="ulink" href="https://en.wikipedia.org/wiki/Advanced_Maryland_Automatic_Network_Disk_Archiver">Amanda</a>: Advanced Maryland Automatic Network
Disk Archiver (Librerie) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/amanda-client">
<code class="literal">amanda-client</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=amanda-client">V:0, I:2</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/a/amanda-client.html">1085</a>
                    </td>
                    <td style="text-align: left"><a class="ulink" href="https://en.wikipedia.org/wiki/Advanced_Maryland_Automatic_Network_Disk_Archiver">Amanda</a>: Advanced Maryland Automatic Network
Disk Archiver (Client) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/amanda-server">
<code class="literal">amanda-server</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=amanda-server">V:0, I:0</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/a/amanda-server.html">1077</a>
                    </td>
                    <td style="text-align: left"><a class="ulink" href="https://en.wikipedia.org/wiki/Advanced_Maryland_Automatic_Network_Disk_Archiver">Amanda</a>: Advanced Maryland Automatic Network
Disk Archiver (Server) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/backup-manager">
<code class="literal">backup-manager</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=backup-manager">V:0, I:1</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/b/backup-manager.html">571</a>
                    </td>
                    <td style="text-align: left"> strumento di backup a riga di comando </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/backup2l">
<code class="literal">backup2l</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=backup2l">V:0, I:0</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/b/backup2l.html">115</a>
                    </td>
                    <td style="text-align: left"> strumento di backup/ripristino per supporti montabile (basato su dischi) che
richiede bassa manutenzione </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/backuppc">
<code class="literal">backuppc</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=backuppc">V:2, I:2</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/b/backuppc.html">3178</a>
                    </td>
                    <td style="text-align: left"><a class="ulink" href="https://en.wikipedia.org/wiki/Backuppc">BackupPC</a> è un sistema ad altre prestazioni
di qualità professionale per il backup di PC (basato su dischi) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/duplicity">
<code class="literal">duplicity</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=duplicity">V:19, I:40</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/d/duplicity.html">1859</a>
                    </td>
                    <td style="text-align: left"> backup incrementali (remoti) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/flexbackup">
<code class="literal">flexbackup</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=flexbackup">V:0, I:0</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/f/flexbackup.html">243</a>
                    </td>
                    <td style="text-align: left"> backup incrementali (remoti) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/rdiff-backup">
<code class="literal">rdiff-backup</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=rdiff-backup">V:5, I:12</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/r/rdiff-backup.html">1162</a>
                    </td>
                    <td style="text-align: left"> backup incrementali (remoti) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/restic">
<code class="literal">restic</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=restic">V:2, I:5</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/r/restic.html">21593</a>
                    </td>
                    <td style="text-align: left"> backup incrementali (remoti) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/slbackup">
<code class="literal">slbackup</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=slbackup">V:0, I:0</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/s/slbackup.html">151</a>
                    </td>
                    <td style="text-align: left"> backup incrementali (remoti) </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <br class="table-break"/>
          <p>Gli strumenti di backup hanno una propria specializzazione.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p><a class="ulink" href="https://en.wikipedia.org/wiki/Mondo_Rescue">Mondo Rescue</a> è un sistema di backup per
facilitare il ripristino veloce di un sistema completo a partire da backup
su CD/DVD ecc., senza dover affrontare il normale processo di installazione
del sistema.  </p>
              </li>
              <li class="listitem">
                <p><a class="ulink" href="https://en.wikipedia.org/wiki/Bacula">Bacula</a>, <a class="ulink" href="https://en.wikipedia.org/wiki/Advanced_Maryland_Automatic_Network_Disk_Archiver">Amanda</a> e
<a class="ulink" href="https://en.wikipedia.org/wiki/Backuppc">BackupPC</a> sono suite di utilità di backup
complete che sono pensate per backup regolari in rete.  </p>
              </li>
              <li class="listitem">
                <p> Backup regolari dei dati degli utenti possono essere realizzati da un
semplice script (<a class="xref" href="ch10.it.html#_personal_backup" title="10.2.3. Backup personale">Sezione 10.2.3, «Backup personale»</a>).  </p>
              </li>
            </ul>
          </div>
          <p>Gli strumenti base descritti in <a class="xref" href="ch10.it.html#_archive_and_compression_tools" title="10.1.1. Strumenti di archiviazione e compressione">Sezione 10.1.1, «Strumenti di archiviazione e compressione»</a> e <a class="xref" href="ch10.it.html#_copy_and_synchronization_tools" title="10.1.2. Strumenti di copia e sincronizzazione">Sezione 10.1.2, «Strumenti di copia e sincronizzazione»</a> possono essere usati per
facilitare il backup di sistema attraverso script personalizzati. Tali
script possono essere migliorati con gli strumenti seguenti.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> Il pacchetto <code class="literal">restic</code> permette backup incrementali
(remoti).  </p>
              </li>
              <li class="listitem">
                <p> Il pacchetto <code class="literal">rdiff-backup</code> permette backup incrementali
(remoti).  </p>
              </li>
              <li class="listitem">
                <p> Il pacchetto <code class="literal">dump</code> aiuta ad archiviare e ripristinare
tutto il file system in maniera incrementale ed efficiente.  </p>
              </li>
            </ul>
          </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>Per imparare ulteriori informazioni sul pacchetto <code class="literal">dump</code>,
vedere i file in "<code class="literal">/usr/share/doc/dump/</code>" e <a class="ulink" href="http://dump.sourceforge.net/isdumpdeprecated.html">"Is dump really deprecated? (dump è davvero
deprecato?)</a>.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_personal_backup"/>10.2.3. Backup personale</h3>
              </div>
            </div>
          </div>
          <p>Per un sistema desktop Debian personale con la suite
<code class="literal">testing</code>, devo proteggere solo i dati personali e quelli
critici; tanto reinstallo comunque il sistema una volta all'anno. Perciò non
ho ragione di fare il backup dell'intero sistema o di installare un'utilità
completa di backup.</p>
          <p>Al contempo è preziosissimo avere frequenti istantanee recenti dei dati
personali e della configurazione di sistema e backup completi occasionali
dei dati personali.</p>
          <p>Solitamente l'autore fa queste istantanee e backup con un semplice script di
shell <a class="ulink" href="https://github.com/osamuaoki/bss">bss</a>. Questo script è un corto script shell
che usa le utilità standard: <code class="literal">istantanee di sottovolumi
btrfs</code>, <code class="literal">rsync</code>. Per la cifratura dei dati,
l'immagine di disco viene creata da <code class="literal">fallocate</code>(1) e
configurata con <code class="literal">cryptsetup</code>(8). </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 possono ripristinare i dati di configurazione di debconf con
"<code class="literal">debconf-set-selections debconf-selections</code>" ed i dati
delle selezioni di dpkg con "<code class="literal">dpkg --set-selection
&lt;dpkg-selections.list</code>".</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_data_security_infrastructure"/>10.3. Infrastruttura di sicurezza dei dati</h2>
            </div>
          </div>
        </div>
        <p>L'infrastruttura di sicurezza dei dati viene fornita dalla combinazione di
strumenti di cifratura dei dati, strumenti message digest e strumenti di
firma.</p>
        <div class="table">
          <a id="listofdatasecurirastructuretools"/>
          <p class="title">
            <strong>Tabella 10.6. Elenco di strumenti per l'infrastruttura di sicurezza dei dati</strong>
          </p>
          <div class="table-contents">
            <table class="table" summary="Elenco di strumenti per l'infrastruttura di sicurezza dei dati" 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"/>
              </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"> comando </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/gnupg"> <code class="literal">gnupg</code>
</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=gnupg">V:551, I:918</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/g/gnupg.html">885</a>
                  </td>
                  <td style="text-align: left"> <code class="literal">gpg</code>(1) </td>
                  <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/GNU_Privacy_Guard">GNU Privacy Guard</a> - strumento OpenPGP
di cifratura e firma </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/gpgv"> <code class="literal">gpgv</code>
</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=gpgv">V:897, I:999</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/g/gpgv.html">917</a>
                  </td>
                  <td style="text-align: left"> <code class="literal">gpgv</code>(1) </td>
                  <td style="text-align: left"> GNU Privacy Guard - strumento di verifica delle firme </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/paperkey">
<code class="literal">paperkey</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=paperkey">V:1, I:13</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/paperkey.html">58</a>
                  </td>
                  <td style="text-align: left"> <code class="literal">paperkey</code>(1) </td>
                  <td style="text-align: left"> estrae solamente le informazioni segrete da chiavi OpenPGP segrete </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/cryptsetup">
<code class="literal">cryptsetup</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=cryptsetup">V:30, I:77</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/c/cryptsetup.html">406</a>
                  </td>
                  <td style="text-align: left"> <code class="literal">cryptsetup</code>(8), … </td>
                  <td style="text-align: left"> utilità per la cifratura <a class="ulink" href="https://en.wikipedia.org/wiki/Dm-crypt">dm-crypt</a> per i
device a blocchi con supporto di <a class="ulink" href="https://en.wikipedia.org/wiki/Linux_Unified_Key_Setup">LUKS</a> </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/coreutils">
<code class="literal">coreutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=coreutils">V:908, I:999</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/c/coreutils.html">18062</a>
                  </td>
                  <td style="text-align: left"> <code class="literal">md5sum</code>(1) </td>
                  <td style="text-align: left"> calcola e controlla message digest MD5 </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/coreutils">
<code class="literal">coreutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=coreutils">V:908, I:999</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/c/coreutils.html">18062</a>
                  </td>
                  <td style="text-align: left"> <code class="literal">sha1sum</code>(1) </td>
                  <td style="text-align: left"> calcola e controlla message digest SHA1 </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/openssl">
<code class="literal">openssl</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=openssl">V:841, I:995</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/o/openssl.html">2269</a>
                  </td>
                  <td style="text-align: left"> <code class="literal">openssl</code>(1ssl) </td>
                  <td style="text-align: left"> calcola message digest con "<code class="literal">openssl dgst</code>" (OpenSSL) </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/libsecret-tools">
<code class="literal">libsecret-tools</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=libsecret-tools">V:1, I:12</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/libs/libsecret-tools.html">44</a>
                  </td>
                  <td style="text-align: left"> <code class="literal">secret-tool</code>(1) </td>
                  <td style="text-align: left"> archivia e recupera password (CLI) </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/seahorse">
<code class="literal">seahorse</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=seahorse">V:72, I:248</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/s/seahorse.html">7987</a>
                  </td>
                  <td style="text-align: left"> <code class="literal">seahorse</code>(1) </td>
                  <td style="text-align: left"> strumento di gestione delle chiavi (GNOME) </td>
                </tr>
              </tbody>
            </table>
          </div>
        </div>
        <br class="table-break"/>
        <p>Vedere <a class="xref" href="ch09.it.html#_data_encryption_tips" title="9.9. Suggerimenti per la cifratura dei dati">Sezione 9.9, «Suggerimenti per la cifratura dei dati»</a> su <a class="ulink" href="https://en.wikipedia.org/wiki/Dm-crypt">dm-crypt</a> e <a class="ulink" href="https://www.kernel.org/doc/html/latest/filesystems/fscrypt.html">fscrypt</a>
che implementano un'infrastruttura di cifratura automatica dei dati usando
moduli del kernel Linux.</p>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_key_management_for_gnupg"/>10.3.1. Gestione delle chiavi per GnuPG</h3>
              </div>
            </div>
          </div>
          <p>Quelli che seguono sono alcuni comandi per <a class="ulink" href="https://it.wikipedia.org/wiki/GNU_Privacy_Guard">GNU Privacy Guard</a> per la gestione base delle
chiavi.</p>
          <div class="table">
            <a id="listofgnuprivacythekeymanagement"/>
            <p class="title">
              <strong>Tabella 10.7. Elenco di comandi per GNU Privacy Guard per la gestione delle chiavi</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Elenco di comandi per GNU Privacy Guard per la gestione delle chiavi" border="1">
                <colgroup>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                </colgroup>
                <thead>
                  <tr>
                    <th style="text-align: left"> comando </th>
                    <th style="text-align: left"> descrizione </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --gen-key</code> </td>
                    <td style="text-align: left"> Genera una nuova chiave </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --gen-revoke mio_ID_utente</code> </td>
                    <td style="text-align: left"> genera una chiave di revoca per mio_ID_utente </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --edit-key user_ID</code> </td>
                    <td style="text-align: left"> modifica la chiave in modo interattivo, "help" per l'aiuto </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -o file --export</code> </td>
                    <td style="text-align: left"> esporta tutte le chiavi in un file </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --import file</code> </td>
                    <td style="text-align: left"> importa tutte le chiavi da un file </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --send-keys ID_utente</code> </td>
                    <td style="text-align: left"> invia la chiave di ID_utente al server di chiavi </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --recv-keys ID_utente</code> </td>
                    <td style="text-align: left"> riceve la chiave di ID_utente dal server di chiavi </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --list-keys ID_utente</code> </td>
                    <td style="text-align: left"> elenca le chiavi di ID_utente </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --list-sigs ID_utente</code> </td>
                    <td style="text-align: left"> elenca le firme di ID_utente </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --check-sigs ID_utente</code> </td>
                    <td style="text-align: left"> controlla le firme di ID_utente </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --fingerprint ID_utente</code> </td>
                    <td style="text-align: left"> controlla le impronte digitali di ID_utente </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --refresh-keys</code> </td>
                    <td style="text-align: left"> aggiorna il portachiavi locale </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <br class="table-break"/>
          <p>Quelli seguenti sono i significati dei codici di fiducia.</p>
          <div class="table">
            <a id="listofthemeaningofthetrustcode"/>
            <p class="title">
              <strong>Tabella 10.8. Elenco dei significati dei codici di fiducia</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Elenco dei significati dei codici di fiducia" border="1">
                <colgroup>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                </colgroup>
                <thead>
                  <tr>
                    <th style="text-align: left"> codice </th>
                    <th style="text-align: left"> descrizione della fiducia </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left"> <code class="literal">-</code> </td>
                    <td style="text-align: left"> nessuna fiducia assegnata dal proprietario / ancora non calcolata </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">e</code> </td>
                    <td style="text-align: left"> calcolo della fiducia fallito </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">q</code> </td>
                    <td style="text-align: left"> informazioni insufficienti per il calcolo </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">n</code> </td>
                    <td style="text-align: left"> non fidarsi mai di questa chiave </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">m</code> </td>
                    <td style="text-align: left"> marginalmente affidabile </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">f</code> </td>
                    <td style="text-align: left"> completamente fidata </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">u</code> </td>
                    <td style="text-align: left"> definitivamente fidata </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <br class="table-break"/>
          <p>Il comando seguente carica la mia chiave "<code class="literal">1DD8D791</code>" sul
popolare server di chiavi "<code class="literal">hkp://keys.gnupg.net</code>".</p>
          <pre class="screen">$ gpg --keyserver hkp://keys.gnupg.net --send-keys 1DD8D791</pre>
          <p>Un buon server di chiavi predefinito impostato in
"<code class="literal">~/.gnupg/gpg.conf</code>" (o nella vecchia posizione
"<code class="literal">~/.gnupg/options</code>") si ottiene la voce seguente.</p>
          <pre class="screen">keyserver hkp://keys.gnupg.net</pre>
          <p>Il comando seguente recupera le chiavi sconosciute dal server di chiavi.</p>
          <pre class="screen">$ gpg --list-sigs --with-colons | grep '^sig.*\[User ID not found\]' |\
  cut -d ':' -f 5| sort | uniq | xargs gpg --recv-keys</pre>
          <p>In <a class="ulink" href="http://sourceforge.net/projects/pks/">OpenPGP Public Key Server</a>
(versioni pre-0.9.6) esisteva un bug che corrompeva le chiavi con più di 2
sottochiavi. I pacchetti <code class="literal">GnuPG</code> più recenti (&gt;1.2.1-2)
possono gestire queste sottochiavi corrotte. Vedere l'opzione
"<code class="literal">--repair-pks-subkey-bug</code> in <code class="literal">gpg</code>(1).</p>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_using_gnupg_on_files"/>10.3.2. Usare GnuPG su file</h3>
              </div>
            </div>
          </div>
          <p>Quelli seguenti sono esempi di comandi per usare <a class="ulink" href="https://it.wikipedia.org/wiki/GNU_Privacy_Guard">GNU Privacy Guard</a> su file. </p>
          <div class="table">
            <a id="listofgnuprivacydcommandsonfiles"/>
            <p class="title">
              <strong>Tabella 10.9. Elenco di comandi GNU Privacy Guard per file</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Elenco di comandi GNU Privacy Guard per file" border="1">
                <colgroup>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                </colgroup>
                <thead>
                  <tr>
                    <th style="text-align: left"> comando </th>
                    <th style="text-align: left"> descrizione </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -a -s file</code> </td>
                    <td style="text-align: left"> firma un file in file.asc con corazza <a class="ulink" href="https://it.wikipedia.org/wiki/Ascii">ASCII</a> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --armor --sign file</code> </td>
                    <td style="text-align: left"> " " </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --clearsign file</code> </td>
                    <td style="text-align: left"> inserisce una firma leggibile nel messaggio </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --clearsign file|mail pippo@example.org</code> </td>
                    <td style="text-align: left"> invia un messaggio di posta firmato leggibile a
<code class="literal">pippo@example.org</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --clearsign --not-dash-escaped patchfile</code> </td>
                    <td style="text-align: left"> inserisce una firma leggibile in patchfile </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --verify file</code> </td>
                    <td style="text-align: left"> verifica un file con firma leggibile </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -o file.sig -b file</code> </td>
                    <td style="text-align: left"> crea una firma staccata </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -o file.sig --detach-sig file</code> </td>
                    <td style="text-align: left"> " " </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg --verify file.sig file</code> </td>
                    <td style="text-align: left"> verifica file con file.sig </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -o cifr_file.gpg -r nome -e file</code> </td>
                    <td style="text-align: left"> cifratura di file nel file binario cifr_file.gpg usando la chiave pubblica
indirizzata a nome </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -o cifr_file.gpg --recipient nome --encrypt file</code> </td>
                    <td style="text-align: left"> " " </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -o cifr_file.asc -a -r nome -e file</code> </td>
                    <td style="text-align: left"> cifratura di file nel file con cifratura corazzata <a class="ulink" href="https://it.wikipedia.org/wiki/Ascii">ASCII</a> cifr_file.asc usando la chiave pubblica
indirizzata a nome </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -o cifr_file.gpg -c file</code> </td>
                    <td style="text-align: left"> cifratura simmetrica da file a cifr_file.gpg </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -o cifr_file.gpg --symmetric file</code> </td>
                    <td style="text-align: left"> " " </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -o cifr_file.asc -a -c file</code> </td>
                    <td style="text-align: left"> cifratura simmetrica pensata per nome di file nel file con cifratura
corazzata <a class="ulink" href="https://it.wikipedia.org/wiki/Ascii">ASCII</a> cifr_file.asc </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -o file -d cifr_file.gpg -r nome</code> </td>
                    <td style="text-align: left"> decifratura </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gpg -o file --decrypt cifr_file.gpg</code> </td>
                    <td style="text-align: left"> " " </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <br class="table-break"/>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_using_gnupg_with_mutt"/>10.3.3. Usare GnuPG con Mutt</h3>
              </div>
            </div>
          </div>
          <p>Aggiungere quanto seguie al file "<code class="literal">~/.muttrc</code>" per evitare
che il lento GnuPG venga avviato automaticamente, permettendo allo stesso
tempo di richiamarlo digitando "<code class="literal">S</code>" nel menu della vista
indice.</p>
          <pre class="screen">macro index S ":toggle pgp_verify_sig\n"
set pgp_verify_sig=no</pre>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_using_gnupg_with_vim"/>10.3.4. Usare GnuPG con Vim</h3>
              </div>
            </div>
          </div>
          <p>Il plugin <code class="literal">gnupg</code> permette di eseguire GnuPG in modo
trasparente per i file con estensione "<code class="literal">.gpg</code>",
"<code class="literal">.asc</code>" e "<code class="literal">.pgp</code>".<a href="#ftn.idm19339" class="footnote" id="idm19339"><sup class="footnote">[6]</sup></a></p>
          <pre class="screen">$ sudo aptitude install vim-scripts
$ echo "packadd! gnupg" &gt;&gt; ~/.vim/vimrc</pre>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_the_md5_sum"/>10.3.5. Somme di controllo MD5</h3>
              </div>
            </div>
          </div>
          <p><code class="literal">md5sum</code>(1) fornisce un'utilità per creare un file digest
usando il metodo descritto nella <a class="ulink" href="http://tools.ietf.org/html/rfc1321">rfc1321</a> e
per verificare i file con esso.</p>
          <pre class="screen">$ md5sum foo bar &gt;baz.md5
$ cat baz.md5
d3b07384d113edec49eaa6238ad5ff00  foo
c157a79031e1c40f85931829bc5fc552  bar
$ md5sum -c baz.md5
foo: OK
bar: OK</pre>
          <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>Il calcolo delle somme di controllo <a class="ulink" href="https://it.wikipedia.org/wiki/MD5">MD5</a> è meno
dispendioso in termini di CPU di quello delle firme crittografiche di <a class="ulink" href="https://it.wikipedia.org/wiki/GNU_Privacy_Guard">GNU Privacy Guard (GnuPG)</a>. Di solito
solamente il file digest di più alto livello è firmato crittograficamente
per assicurare l'integrità dei dati.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_password_keyring"/>10.3.6. Portachiavi per le password</h3>
              </div>
            </div>
          </div>
          <p>Nei sistemi GNOME lo strumento GUI <code class="literal">seahorse</code>(1) gestisce
le password e le archivia in modo sicuro nel portachiavi
<code class="literal">~/.local/share/keyrings/*</code>.</p>
          <p><code class="literal">secret-tool</code>(1) può archiviare le password nel portachiavi
dalla riga di comando.</p>
          <p>Memorizziamo le passphrase usate per l'immagine del disco cifrata con
LUKS/dm-crypt</p>
          <pre class="screen">$ secret-tool store --label='LUKS passphrase for disk.img' LUKS my_disk.img
Password: ********
</pre>
          <p>Questa password archiviata può essere recuperata e passata ad altri
programmi, es. <code class="literal">cryptsetup</code>(8).</p>
          <pre class="screen">$ secret-tool lookup LUKS my_disk.img | \
  cryptsetup open disk.img disk_img --type luks --keyring -
$ sudo mount /dev/mapper/disk_img /mnt
</pre>
          <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>Ogni qual volta si deve fornire la password in uno script, usare
<code class="literal">secret-tool</code> ed evitare di inserire direttamente nel
codice la password.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_source_code_merge_tools"/>10.4. Strumenti per la fusione di codice sorgente</h2>
            </div>
          </div>
        </div>
        <p>Esistono molti strumenti per la fusione di codice sorgente. Quello che segue
è un elenco di strumenti che hanno catturato la mia attenzione.</p>
        <div class="table">
          <a id="listofsourcecodemergetools"/>
          <p class="title">
            <strong>Tabella 10.10. Elenco di strumenti per la fusione di codice sorgente</strong>
          </p>
          <div class="table-contents">
            <table class="table" summary="Elenco di strumenti per la fusione di codice sorgente" 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"/>
              </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"> comando </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/patch"> <code class="literal">patch</code>
</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patch">V:90, I:702</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patch.html">248</a>
                  </td>
                  <td style="text-align: left"><code class="literal">patch</code>(1) </td>
                  <td style="text-align: left"> applica un file diff ad un originale </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/vim"> <code class="literal">vim</code>
</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=vim">V:97, I:390</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/v/vim.html">3570</a>
                  </td>
                  <td style="text-align: left"><code class="literal">vimdiff</code>(1) </td>
                  <td style="text-align: left"> confronta 2 file uno di fianco all'altro in vim </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/imediff">
<code class="literal">imediff</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=imediff">V:0, I:0</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/i/imediff.html">169</a>
                  </td>
                  <td style="text-align: left"><code class="literal">imediff</code>(1) </td>
                  <td style="text-align: left"> strumento interattivo a tutto schermo per unione di modifiche a 2/3 vie </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/meld"> <code class="literal">meld</code>
</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=meld">V:11, I:34</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/m/meld.html">3500</a>
                  </td>
                  <td style="text-align: left"><code class="literal">meld</code>(1) </td>
                  <td style="text-align: left"> confronta e fonde file (GTK) </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/wiggle">
<code class="literal">wiggle</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=wiggle">V:0, I:0</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/w/wiggle.html">174</a>
                  </td>
                  <td style="text-align: left"><code class="literal">wiggle</code>(1) </td>
                  <td style="text-align: left"> applica le patch respinte </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/diffutils">
<code class="literal">diffutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=diffutils">V:876, I:995</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/d/diffutils.html">1597</a>
                  </td>
                  <td style="text-align: left"><code class="literal">diff</code>(1) </td>
                  <td style="text-align: left"> confronta i file riga per riga </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/diffutils">
<code class="literal">diffutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=diffutils">V:876, I:995</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/d/diffutils.html">1597</a>
                  </td>
                  <td style="text-align: left"><code class="literal">diff3</code>(1) </td>
                  <td style="text-align: left"> confronta e fonde tre file riga per riga </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/quilt"> <code class="literal">quilt</code>
</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=quilt">V:3, I:26</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/q/quilt.html">773</a>
                  </td>
                  <td style="text-align: left"><code class="literal">quilt</code>(1) </td>
                  <td style="text-align: left"> gestisce serie di patch </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/wdiff"> <code class="literal">wdiff</code>
</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=wdiff">V:8, I:59</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/w/wdiff.html">648</a>
                  </td>
                  <td style="text-align: left"><code class="literal">wdiff</code>(1) </td>
                  <td style="text-align: left"> mostra le differenze di parole tra file di testo </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/diffstat">
<code class="literal">diffstat</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=diffstat">V:12, I:127</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/d/diffstat.html">74</a>
                  </td>
                  <td style="text-align: left"><code class="literal">diffstat</code>(1) </td>
                  <td style="text-align: left"> produce un istogramma delle modifiche apportate da un diff </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">combinediff</code>(1) </td>
                  <td style="text-align: left"> crea una patch cumulativa da due patch incrementali </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">dehtmldiff</code>(1) </td>
                  <td style="text-align: left"> estrae un diff da una pagina HTML </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">filterdiff</code>(1) </td>
                  <td style="text-align: left"> estrae o esclude diff da un file diff </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">fixcvsdiff</code>(1) </td>
                  <td style="text-align: left"> aggiusta file diff creati da CVS che sono male interpretati da
<code class="literal">patch</code>(1) </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">flipdiff</code>(1) </td>
                  <td style="text-align: left"> scambia l'ordine di due patch </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">grepdiff</code>(1) </td>
                  <td style="text-align: left"> mostra quali file siano modificati da una patch che fa corrispondenza con
un'espressione regolare </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">interdiff</code>(1) </td>
                  <td style="text-align: left"> mostra le differenze tra due file diff unificati </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">lsdiff</code>(1) </td>
                  <td style="text-align: left"> mostra quali file vengano modificati da una patch </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">recountdiff</code>(1) </td>
                  <td style="text-align: left"> ricalcola conteggi e offset in diff unificati </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">rediff</code>(1) </td>
                  <td style="text-align: left"> aggiusta conteggi ed offset di un diff modificato a mano </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">splitdiff</code>(1) </td>
                  <td style="text-align: left"> separa due patch incrementali </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/patchutils">
<code class="literal">patchutils</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=patchutils">V:14, I:125</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/p/patchutils.html">232</a>
                  </td>
                  <td style="text-align: left"><code class="literal">unwrapdiff</code>(1) </td>
                  <td style="text-align: left"> ripristina patch il cui contenuto è stato mandato a capo automaticamente </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/dirdiff">
<code class="literal">dirdiff</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=dirdiff">V:0, I:2</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/d/dirdiff.html">167</a>
                  </td>
                  <td style="text-align: left"><code class="literal">dirdiff</code>(1) </td>
                  <td style="text-align: left"> mostra le differenze ed apporta i cambiamenti tra alberi di directory </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/docdiff">
<code class="literal">docdiff</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=docdiff">V:0, I:0</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/d/docdiff.html">553</a>
                  </td>
                  <td style="text-align: left"><code class="literal">docdiff</code>(1) </td>
                  <td style="text-align: left"> confronta due file parola per parola / carattere per carattere </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/makepatch">
<code class="literal">makepatch</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=makepatch">V:0, I:0</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/m/makepatch.html">100</a>
                  </td>
                  <td style="text-align: left"><code class="literal">makepatch</code>(1) </td>
                  <td style="text-align: left"> genera file patch estesi </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/makepatch">
<code class="literal">makepatch</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=makepatch">V:0, I:0</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/m/makepatch.html">100</a>
                  </td>
                  <td style="text-align: left"><code class="literal">applypatch</code>(1) </td>
                  <td style="text-align: left"> applica file patch estesi </td>
                </tr>
              </tbody>
            </table>
          </div>
        </div>
        <br class="table-break"/>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_extracting_differences_for_source_files"/>10.4.1. Estrarre differenze da file sorgenti</h3>
              </div>
            </div>
          </div>
          <p>Si possono estrarre le differenze tra due file sorgenti e creare file diff
unificati "<code class="literal">file.patch0</code>" o
"<code class="literal">file.patch1</code>", a seconda della posizione del file, con le
procedure seguenti.</p>
          <pre class="screen">$ diff -u file.old file.new &gt; file.patch0
$ diff -u old/file new/file &gt; file.patch1</pre>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_merging_updates_for_source_files"/>10.4.2. Fondere aggiornamenti per file sorgenti</h3>
              </div>
            </div>
          </div>
          <p>I file diff (chiamati anche file patch) sono usati per inviare aggiornamenti
per un programma. Chi li riceve applica questo aggiornamento ad un altro
file nel modo seguente.</p>
          <pre class="screen">$ patch -p0 file &lt; file.patch0
$ patch -p1 file &lt; file.patch1</pre>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_interactive_merge"/>10.4.3. Unione (merge) interattiva</h3>
              </div>
            </div>
          </div>
          <p>Se si hanno due versioni di un codice sorgente, è possibile effettuare una
unione a 2 vie interattiva usando <code class="literal">imediff</code>(1) nel modo
seguente.</p>
          <pre class="screen">$ imediff -o file.merged file.old file.new</pre>
          <p>Se si hanno tre versioni di un codice sorgente, è possibile effettuare una
unione a 3 vie interattiva usando <code class="literal">imediff</code>(1) nel modo
seguente.</p>
          <pre class="screen">$ imediff -o file.merged file.yours file.base file.theirs</pre>
        </div>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="_git"/>10.5. Git</h2>
            </div>
          </div>
        </div>
        <p>Git oggi giorno è lo strumento più usato per il <a class="ulink" href="https://it.wikipedia.org/wiki/Controllo_versione">sistema di controllo di
versione(VCS)</a> dato che Git può fare tutto per la gestione del codice
sia locale che remota.</p>
        <p>Debian fornisce servizi Git liberi attraverso il <a class="ulink" href="https://salsa.debian.org/">servizio Debian Salsa</a>. La sua
documentazione è reperibile su <a class="ulink" href="https://wiki.debian.org/Salsa">https://wiki.debian.org/Salsa</a>.</p>
        <p>Ecco alcuni pacchetti correlati a Git.</p>
        <div class="table">
          <a id="listofgitrelatedkagesandcommands"/>
          <p class="title">
            <strong>Tabella 10.11. Elenco di pacchetti e comandi relativi a Git</strong>
          </p>
          <div class="table-contents">
            <table class="table" summary="Elenco di pacchetti e comandi relativi a Git" 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"/>
              </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"> comando </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/git"> <code class="literal">git</code>
</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=git">V:305, I:517</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/g/git.html">44453</a>
                  </td>
                  <td style="text-align: left"><code class="literal">git</code>(7) </td>
                  <td style="text-align: left"> Git, il sistema di controllo delle revisioni veloce, scalabile e distribuito </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/gitk"> <code class="literal">gitk</code>
</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=gitk">V:4, I:36</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/g/gitk.html">1792</a>
                  </td>
                  <td style="text-align: left"><code class="literal">gitk</code>(1) </td>
                  <td style="text-align: left"> browser degli archivi Git con interfaccia utente grafica e cronologia </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/git-gui">
<code class="literal">git-gui</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=git-gui">V:1, I:20</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/g/git-gui.html">2386</a>
                  </td>
                  <td style="text-align: left"><code class="literal">git-gui</code>(1) </td>
                  <td style="text-align: left"> interfaccia utente grafica per Git (senza cronologia) </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/git-email">
<code class="literal">git-email</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=git-email">V:0, I:10</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/g/git-email.html">1040</a>
                  </td>
                  <td style="text-align: left"><code class="literal">git-send-email</code>(1) </td>
                  <td style="text-align: left"> invia una raccolta di patch come messaggio di posta da Git </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/git-buildpackage">
<code class="literal">git-buildpackage</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=git-buildpackage">V:1, I:10</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/g/git-buildpackage.html">7351</a>
                  </td>
                  <td style="text-align: left"><code class="literal">git-buildpackage</code>(1) </td>
                  <td style="text-align: left"> automatizza la creazione di pacchetti Debian con Git </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/dgit"> <code class="literal">dgit</code>
</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=dgit">V:0, I:1</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/d/dgit.html">487</a>
                  </td>
                  <td style="text-align: left"><code class="literal">dgit</code>(1) </td>
                  <td style="text-align: left"> interoperabilità di git con l'archivio Debian </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/imediff">
<code class="literal">imediff</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=imediff">V:0, I:0</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/i/imediff.html">169</a>
                  </td>
                  <td style="text-align: left"><code class="literal">git-ime</code>(1) </td>
                  <td style="text-align: left"> strumento ausialiario per aiutare a suddividere commit di git </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/stgit"> <code class="literal">stgit</code>
</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=stgit">V:0, I:0</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/s/stgit.html">601</a>
                  </td>
                  <td style="text-align: left"><code class="literal">stg</code>(1) </td>
                  <td style="text-align: left"> quilt sopra a git (Python) </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/git-doc">
<code class="literal">git-doc</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=git-doc">I:13</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/g/git-doc.html">12989</a>
                  </td>
                  <td style="text-align: left"> N/D </td>
                  <td style="text-align: left"> documentazione ufficiale per Git </td>
                </tr>
                <tr>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.debian.org/sid/gitmagic">
<code class="literal">gitmagic</code> </a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=gitmagic">I:0</a>
                  </td>
                  <td style="text-align: left">
                    <a class="ulink" href="http://packages.qa.debian.org/g/gitmagic.html">721</a>
                  </td>
                  <td style="text-align: left"> N/D </td>
                  <td style="text-align: left"> "Git Magic", una guida per Git più semplice da capire </td>
                </tr>
              </tbody>
            </table>
          </div>
        </div>
        <br class="table-break"/>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_configuration_of_git_client"/>10.5.1. Configurazione del client Git</h3>
              </div>
            </div>
          </div>
          <p>È possibile che si desideri impostare diverse configurazioni globali, come
il nome e l'indirizzo di posta elettronica usati da Git, in
"<code class="literal">~/.gitconfig</code>" nel modo seguente.</p>
          <pre class="screen">$ git config --global user.name "Name Surname"
$ git config --global user.email yourname@example.com</pre>
          <p>Si può anche personalizzare il comportamento predefinito di Git nel modo
seguente.</p>
          <pre class="screen">$ git config --global init.defaultBranch main
$ git config --global pull.rebase true
$ git config --global push.default current</pre>
          <p>Se si è abituati ai comandi di CVS o Subversion, si potrebbe volere
impostare alcuni alias per i comandi nel modo seguente.</p>
          <pre class="screen">$ git config --global alias.ci "commit -a"
$ git config --global alias.co checkout</pre>
          <p>La configurazione globale può essere controllata con il comando seguente.</p>
          <pre class="screen">$ git config --global --list</pre>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_basic_git_commands"/>10.5.2. Comandi Git di base</h3>
              </div>
            </div>
          </div>
          <p>Il funzionamento di Git coinvolge diversi dati.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p> L'albero di lavoro che contiene i file che l'utente vede e ai quali fa le
modifiche. </p>
                <div class="itemizedlist">
                  <ul class="itemizedlist">
                    <li class="listitem">
                      <p> Le modifiche da registrare devono essere selezionate esplicitamente e
posizionate in attesa nell'indice. Questo viene fatto con i comandi
<code class="literal">git add</code> e <code class="literal">git rm</code>. </p>
                    </li>
                  </ul>
                </div>
              </li>
              <li class="listitem">
                <p> L'indice che contiene i file pronti per il commit (staged).</p>
                <div class="itemizedlist">
                  <ul class="itemizedlist">
                    <li class="listitem">
                      <p> Il commit nel repository locale dei file preparati nell'indice (staged)
verrà fatto alla successiva richiesta. Ciò viene fatto con il comando
<code class="literal">git commit</code>. </p>
                    </li>
                  </ul>
                </div>
              </li>
              <li class="listitem">
                <p> Il repository locale che contiene i file di cui è stato fatto il commit. </p>
                <div class="itemizedlist">
                  <ul class="itemizedlist">
                    <li class="listitem">
                      <p> Git registra la cronologia collegata dei dati di cui è fatto il commit e li
organizza come rami nel repository.</p>
                    </li>
                    <li class="listitem">
                      <p> Il repository locale può inviare dati al repository remoto con il comando
<code class="literal">git push</code>. </p>
                    </li>
                    <li class="listitem">
                      <p> Il repository locale può ricevere dati dal repository remoto con i comandi
<code class="literal">git fetch</code> e <code class="literal">git pull</code>.</p>
                      <div class="itemizedlist">
                        <ul class="itemizedlist">
                          <li class="listitem">
                            <p> Il comando <code class="literal">git pull</code> effettua un comando <code class="literal">git
merge</code> o <code class="literal">git rebase</code> dopo il comando <code class="literal">git
fetch</code>. </p>
                          </li>
                          <li class="listitem">
                            <p> Qui, <code class="literal">git merge</code> combina due rami separati della cronologia
per finire in un unico punto. (Questo è il comportamento predefinito di
<code class="literal">git pull</code> senza alcuna personalizzazione e può essere
buono per le persone che lavorano a monte che pubblicano rami verso molte
persone.) </p>
                          </li>
                          <li class="listitem">
                            <p> Qui, <code class="literal">git rebase</code> crea un singolo ramo di cronologia in
sequenza del ramo remoto seguita da quella del ramo locale. (Questo è il
caso della personalizzazione <code class="literal">pull.rebase true</code> e può
essere adatto per il resto delle persone.) </p>
                          </li>
                        </ul>
                      </div>
                    </li>
                  </ul>
                </div>
              </li>
              <li class="listitem">
                <p> Il repository remoto che contiene i file di cui è stato fatto il commit. </p>
                <div class="itemizedlist">
                  <ul class="itemizedlist">
                    <li class="listitem">
                      <p> La comunicazione con il repository remoto utilizza protocolli di
comunicazione sicuri, come SSH o HTTPS. </p>
                    </li>
                  </ul>
                </div>
              </li>
            </ul>
          </div>
          <p>L'albero di lavoro è fuori dalla directory <code class="literal">.git/</code>. I file
dentro alla directory <code class="literal">.git/</code> contengono l'indice, i dati
del repository locale e alcuni file di testo di configurazione di git. </p>
          <p>Ecco una panoramica dei principali comandi di Git.</p>
          <div class="table">
            <a id="maingitcommands"/>
            <p class="title">
              <strong>Tabella 10.12. Principali comandi Git</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Principali comandi Git" border="1">
                <colgroup>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                </colgroup>
                <thead>
                  <tr>
                    <th style="text-align: left"> Comando Git </th>
                    <th style="text-align: left"> funzione </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git init</code> </td>
                    <td style="text-align: left"> creazione dell'archivio (locale) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git clone URL</code> </td>
                    <td style="text-align: left"> clona il repository remoto in un repository locale con l'albero di lavoro </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git pull origin main</code> </td>
                    <td style="text-align: left"> aggiorna il ramo <code class="literal">main</code> locale in base al repository remoto
<code class="literal">origin</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git add .</code> </td>
                    <td style="text-align: left"> aggiunge il/i file nell'albero di lavoro all'indice solo per i file già
presenti nell'indice </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git add -A .</code> </td>
                    <td style="text-align: left"> aggiunge il/i file nell'albero di lavoro all'indice per tutti i file,
incluse le rimozioni</td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git rm nomefile</code> </td>
                    <td style="text-align: left"> rimuove il/i file dall'albero di lavoro e dall'indice </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git commit</code> </td>
                    <td style="text-align: left"> fa il commit dei cambiamenti in attesa nell'indice nel repository locale </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git commit -a</code> </td>
                    <td style="text-align: left"> aggiunge tutte le modifiche all'albero di lavoro nell'indice e ne fa il
commit nel repository locale (add + commit) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git push -u origin nome_ramo</code> </td>
                    <td style="text-align: left"> aggiorna il repository remoto <code class="literal">origin</code> con il ramo locale
<code class="literal">nome_ramo</code> (invocazione iniziale) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git push origin nome_ramo</code> </td>
                    <td style="text-align: left"> aggiorna il repository remoto <code class="literal">origin</code> con il ramo locale
<code class="literal">nome_ramo</code> (invocazione successiva) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git diff treeish1 treeish2</code> </td>
                    <td style="text-align: left"> mostra le differenza tra il commit <span class="emphasis"><em>treeish1</em></span> e il commit
<span class="emphasis"><em>treeish2</em></span> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gitk</code> </td>
                    <td style="text-align: left"> visualizzazione GUI dell'albero della cronologia dei rami del repository </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <br class="table-break"/>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_git_tips"/>10.5.3. Suggerimenti per Git</h3>
              </div>
            </div>
          </div>
          <p>Ecco alcuni suggerimenti per Git.</p>
          <div class="table">
            <a id="gittips"/>
            <p class="title">
              <strong>Tabella 10.13. Suggerimenti per Git</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Suggerimenti per Git" border="1">
                <colgroup>
                  <col style="text-align: left"/>
                  <col style="text-align: left"/>
                </colgroup>
                <thead>
                  <tr>
                    <th style="text-align: left"> Riga di comando di Git </th>
                    <th style="text-align: left"> funzione </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left"> <code class="literal">gitk --all</code> </td>
                    <td style="text-align: left"> per vedere la cronologia completa di Git e operare su di essa, come
reimpostare HEAD ad un altro commit, scegliere una a una le patch, creare
etichette e rami... </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git stash</code> </td>
                    <td style="text-align: left"> ottenere un albero di lavoro pulito senza perdere dati </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git remote -v</code> </td>
                    <td style="text-align: left"> controllare le impostazioni per il repository remoto </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git branch -vv</code> </td>
                    <td style="text-align: left"> controllare le impostazioni per il ramo </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git status</code> </td>
                    <td style="text-align: left"> mostrare lo stato dell'albero di lavoro </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git config -l</code> </td>
                    <td style="text-align: left"> elencare le impostazioni di Git </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git reset --hard HEAD; git clean -x -d -f</code> </td>
                    <td style="text-align: left"> annullare tutte le modifiche all'albero di lavoro e ripulirle completamente </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git rm --cached nomefile</code> </td>
                    <td style="text-align: left"> annullare l'indice con modifiche in stage cambiato con <code class="literal">git add
nomefile</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git reflog</code> </td>
                    <td style="text-align: left"> ottenere il registro dei riferimenti (utile per ripristinare commit da un
ramo rimosso)</td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git branch nome_nuovo_ramo HEAD@{6}</code> </td>
                    <td style="text-align: left"> crea un nuovo ramo dalle informazioni reflog</td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git remote add nuovo_remoto URL</code> </td>
                    <td style="text-align: left"> aggiunge un repository remoto <code class="literal">nuovo_remoto</code> a cui punta
l'URL </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git remote rename origin upstream</code> </td>
                    <td style="text-align: left"> rinomina il repository remoto da <code class="literal">origin</code> a
<code class="literal">upstream</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git branch -u upstream/nome_ramo</code> </td>
                    <td style="text-align: left"> imposta il tracciamento remoto al repository remoto
<code class="literal">upstream</code> e al suo ramo <code class="literal">nome_ramo</code>. </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git remote set-url origin https://pippo/pluto.git</code> </td>
                    <td style="text-align: left"> cambia l'URL di <code class="literal">origin</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git remote set-url --push upstream DISABLED</code> </td>
                    <td style="text-align: left"> disabilita il push verso <code class="literal">upstream</code> (Modificare
<code class="literal">.git/config</code> per riabilitarlo) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git checkout -b ramo_topic ; git push -u ramo_topic
origin</code> </td>
                    <td style="text-align: left"> crea un nuovo <code class="literal">ramo_topic</code> e ne fa il push verso
<code class="literal">origin</code></td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git branch -m vecchionome nuovonome</code> </td>
                    <td style="text-align: left"> rinomina il nome locale del ramo </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git push -d origin ramo_da_rimuovere</code> </td>
                    <td style="text-align: left"> rimuove il ramo remoto (nuovo metodo)</td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git push origin :ramo_da_rimuovere</code> </td>
                    <td style="text-align: left"> rimuove il ramo remoto (vecchio metodo)</td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git checkout --orphan unconnected</code> </td>
                    <td style="text-align: left"> crea un nuovo ramo <code class="literal">unconnected</code></td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git fetch upstream foo:upstream-foo</code> </td>
                    <td style="text-align: left"> crea un ramo locale (possibilmente orfano) <code class="literal">upstream-foo</code>
come copia del ramo <code class="literal">foo</code> nel repository
<code class="literal">upstream</code> </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git rebase -i origin/main</code> </td>
                    <td style="text-align: left"> riordina/abbandona/fa lo squish dei commit da <code class="literal">origin/main</code>
per ripulire la cronologia del ramo </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git reset HEAD^; git commit --amend </code> </td>
                    <td style="text-align: left"> schiaccia gli ultimi 2 commit in uno solo</td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git checkout ramo_topic ; git merge --squash ramo_topic </code> </td>
                    <td style="text-align: left"> schiaccia l'intero <code class="literal">ramo_topic</code> in un commit </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git fetch --unshallow --update-head-ok origin
'+refs/heads/*:refs/heads/*' </code> </td>
                    <td style="text-align: left"> converte un clone shallow in un clone completo di tutti i rami </td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git ime</code> </td>
                    <td style="text-align: left"> suddivide l'ultimo commit in una serie di commit più piccoli file-per-file
(è richiesto il pacchetto <code class="literal">imediff</code>)</td>
                  </tr>
                  <tr>
                    <td style="text-align: left"> <code class="literal">git repack -a -d; git prune</code> </td>
                    <td style="text-align: left"> reimpacchetta il repository locale in un singolo pacchetto (ciò può limitare
la possibilità di ripristinare dati persi da rami cancellati, ecc.)</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 usare stringhe per etichette contenenti spazi, anche se alcuni strumenti
come <code class="literal">gitk</code>(1) lo permettono. Altri comandi
<code class="literal">git</code> potrebbero avere problemi con esse.</p>
                </td>
              </tr>
            </table>
          </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>Se viene fatto il rebase o lo squash di un ramo locale di cui è stato fatto
il push sul repository remoto, fare il push di tale ramo ha rischi e
richiede l'opzione <code class="literal">--force</code>. Solitamente ciò non è
accettabile per il ramo <code class="literal">main</code> ma può essere accettabile
per un ramo di specifico argomento prima dell'unione nel ramo
<code class="literal">main</code>.</p>
                </td>
              </tr>
            </table>
          </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>A partire dall'inizio del 2006, l'invocazione diretta, dalla riga di
comando, di un sottocomando di <code class="literal">git</code> come
"<code class="literal">git-xyz</code>" è diventata deprecata.</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>Se c'è un file eseguibile <code class="literal">git-pippo</code> nel percorso
specificato da <code class="literal">$PATH</code>, l'inserimento nella riga di comando
di "<code class="literal">git pippo</code>" senza trattino invoca tale
<code class="literal">git-pippo</code>. Questa è una funzionalità del comando
<code class="literal">git</code>.</p>
                </td>
              </tr>
            </table>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_git_references"/>10.5.4. Documenti di consultazione per Git</h3>
              </div>
            </div>
          </div>
          <p>Vedere la documentazione seguente.</p>
          <div class="itemizedlist">
            <ul class="itemizedlist">
              <li class="listitem">
                <p><a class="ulink" href="http://www.kernel.org/pub/software/scm/git/docs/git.html">pagina man: git(1)</a>
(<code class="literal">/usr/share/doc/git-doc/git.html</code>) </p>
              </li>
              <li class="listitem">
                <p><a class="ulink" href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html">Manuale utente di Git</a>
(<code class="literal">/usr/share/doc/git-doc/user-manual.html</code>) </p>
              </li>
              <li class="listitem">
                <p><a class="ulink" href="http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html">Un tutorial introduttivo su
git</a> (<code class="literal">/usr/share/doc/git-doc/gittutorial.html</code>) </p>
              </li>
              <li class="listitem">
                <p><a class="ulink" href="http://www.kernel.org/pub/software/scm/git/docs/gittutorial-2.html">Un tutorial introduttivo su
git: parte seconda</a>
(<code class="literal">/usr/share/doc/git-doc/gittutorial-2.html</code>) </p>
              </li>
              <li class="listitem">
                <p><a class="ulink" href="http://www.kernel.org/pub/software/scm/git/docs/giteveryday.html">Uso quotidiano di GIT con 20
comandi o poco più</a>
(<code class="literal">/usr/share/doc/git-doc/giteveryday.html</code>) </p>
              </li>
              <li class="listitem">
                <p><a class="ulink" href="http://www-cs-students.stanford.edu/~blynn/gitmagic/">Git Magic</a>
(<code class="literal">/usr/share/doc/gitmagic/html/index.html</code>) </p>
              </li>
            </ul>
          </div>
        </div>
        <div class="section">
          <div class="titlepage">
            <div>
              <div>
                <h3 class="title"><a id="_other_version_control_systems"/>10.5.5. Altri sistemi di controllo delle versioni</h3>
              </div>
            </div>
          </div>
          <p>Un <a class="ulink" href="https://it.wikipedia.org/wiki/Controllo_versione">sistema di controllo delle
versioni (VCS)</a> è a volte noto come sistema di controllo delle
revisioni (RCS) o gestione delle configurazione del software (SCM).</p>
          <p>Ecco un riassunto degli altri VCS diversi da Git nel sistema Debian degni di
nota.</p>
          <div class="table">
            <a id="list-of-vcs"/>
            <p class="title">
              <strong>Tabella 10.14. Elenco di altri strumenti per sistemi di controllo delle versioni</strong>
            </p>
            <div class="table-contents">
              <table class="table" summary="Elenco di altri strumenti per sistemi di controllo delle versioni" 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"> strumento </th>
                    <th style="text-align: left"> tipo di VCS </th>
                    <th style="text-align: left"> commento </th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/mercurial">
<code class="literal">mercurial</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=mercurial">V:5, I:37</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/m/mercurial.html">2013</a>
                    </td>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/Mercurial_(software)">Mercurial</a> </td>
                    <td style="text-align: left"> distribuito  </td>
                    <td style="text-align: left"> DVCS in Python e un po' di C </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/darcs"> <code class="literal">darcs</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=darcs">V:0, I:6</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/d/darcs.html">34070</a>
                    </td>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/Darcs">Darcs</a> </td>
                    <td style="text-align: left"> distribuito  </td>
                    <td style="text-align: left"> DVCS con algebra intelligente per le patch (lento) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/bzr"> <code class="literal">bzr</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=bzr">I:11</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/b/bzr.html">28</a>
                    </td>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/Bazaar_(software)">Bazaar</a> </td>
                    <td style="text-align: left"> distribuito  </td>
                    <td style="text-align: left"> DVCS influenzato da <code class="literal">tla</code>, scritto in Python (<a class="ulink" href="https://wiki.ubuntu.com/UbuntuDevelopment/MigratingFromBzrToGit">storico</a>) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/tla"> <code class="literal">tla</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=tla">V:0, I:1</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/t/tla.html">1022</a>
                    </td>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/GNU_arch">GNU arch</a> </td>
                    <td style="text-align: left"> distribuito  </td>
                    <td style="text-align: left"> DVCS principalmente da Tom Lord (storico) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/subversion">
<code class="literal">subversion</code> </a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=subversion">V:15, I:86</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/s/subversion.html">4838</a>
                    </td>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/Subversion">Subversion</a> </td>
                    <td style="text-align: left"> remoto </td>
                    <td style="text-align: left"> "CVS fatto bene", un più nuovo standard per VCS remoto (storico) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/cvs"> <code class="literal">cvs</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=cvs">V:3, I:32</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/c/cvs.html">4620</a>
                    </td>
                    <td style="text-align: left"> <a class="ulink" href="https://it.wikipedia.org/wiki/Concurrent_Versions_System">CVS</a> </td>
                    <td style="text-align: left"> remoto </td>
                    <td style="text-align: left"> precedente standard per VCS remoto (storico)</td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/tkcvs"> <code class="literal">tkcvs</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=tkcvs">V:0, I:1</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/t/tkcvs.html">1498</a>
                    </td>
                    <td style="text-align: left"> CVS, … </td>
                    <td style="text-align: left"> remoto </td>
                    <td style="text-align: left"> visualizzazione GUI di alberi di archivi VCS (CVS, Subversion, RCS) </td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/rcs"> <code class="literal">rcs</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=rcs">V:2, I:16</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/r/rcs.html">564</a>
                    </td>
                    <td style="text-align: left"> <a class="ulink" href="https://en.wikipedia.org/wiki/Revision_Control_System">RCS</a> </td>
                    <td style="text-align: left"> locale </td>
                    <td style="text-align: left"> "<a class="ulink" href="https://en.wikipedia.org/wiki/Source_Code_Control_System">SCCS Unix</a> fatto bene" (storico)</td>
                  </tr>
                  <tr>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.debian.org/sid/cssc"> <code class="literal">cssc</code>
</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://qa.debian.org/popcon-graph.php?packages=cssc">V:0, I:2</a>
                    </td>
                    <td style="text-align: left">
                      <a class="ulink" href="http://packages.qa.debian.org/c/cssc.html">2044</a>
                    </td>
                    <td style="text-align: left"> <a class="ulink" href="http://cssc.sourceforge.net/">CSSC</a> </td>
                    <td style="text-align: left"> locale </td>
                    <td style="text-align: left"> clone di <a class="ulink" href="https://en.wikipedia.org/wiki/Source_Code_Control_System">SCCS Unix</a> (storico) </td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <br class="table-break"/>
        </div>
      </div>
      <div class="footnotes">
        <br/>
        <hr/>
        <div id="ftn.idm18702" class="footnote">
          <p><a href="#idm18702" class="para"><sup class="para">[4] </sup></a>Supporti scrivibili una sola volta, come CD/DVD-R possono prevenire
incidenti di sovrascrittura. (Vedere <a class="xref" href="ch09.it.html#_the_binary_data" title="9.8. I dati binari">Sezione 9.8, «I dati binari»</a> per
come scrivere sul supporto di archiviazione dalla riga di comando della
shell. L'ambiente desktop GNOME con interfaccia grafica fornisce un facile
accesso tramite menu: "Risorse→Creazione CD/DVD".) </p>
        </div>
        <div id="ftn.idm18719" class="footnote">
          <p><a href="#idm18719" class="para"><sup class="para">[5] </sup></a> Alcuni di questi dati non possono essere rigenerati inserendo la stessa
stringa di input nel sistema.</p>
        </div>
        <div id="ftn.idm19339" class="footnote">
          <p><a href="#idm19339" class="para"><sup class="para">[6] </sup></a>Se si usa "<code class="literal">~/.vimrc</code>" invece di
"<code class="literal">~/.vim/vimrc</code>", modificare di conseguenza.</p>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <hr/>
      <table width="100%" summary="Navigation footer">
        <tr>
          <td align="left"><a accesskey="p" href="ch09.it.html"><img src="images/prev.png" alt="Indietro"/></a> </td>
          <td align="center"> </td>
          <td align="right"> <a accesskey="n" href="ch11.it.html"><img src="images/next.png" alt="Avanti"/></a></td>
        </tr>
        <tr>
          <td align="left" valign="top">Capitolo 9. Suggerimenti per il sistema </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 11. Conversione di dati</td>
        </tr>
      </table>
    </div>
  </body>
</html>