0 - en to it-IT translation catalogue (221 entries)

en: Binary package
it-IT: Pacchetto binario

en: Source package
it-IT: Pacchetto sorgente

en: package
it-IT: pacchetto

en: dependencies
it-IT: dipendenze

en: conflict
it-IT: conflitto

en: Packaging System: Tools and Fundamental Principles
it-IT: Sistema dei pacchetti: strumenti e principi fondamentali

en: As a Debian system administrator, you will routinely handle <filename>.deb</filename> packages, since they contain consistent functional units (applications, documentation, etc.), whose installation and maintenance they facilitate. It is therefore a good idea to know what they are and how to use them.
it-IT: In qualità di amministratore di sistema Debian gestirai abitualmente pacchetti <filename>.deb</filename>, poichè contengono unità funzionali coordinate (applicazioni, documentazione, ecc.), facilitandone l'installazione e la manutenzione. È perciò buona norma conoscere cosa sono e come usarli.

en: This chapter describes the structure and contents of “binary” and “source” packages. The former are files directly usable by <command>dpkg</command>, while the latter contain the source code, as well as instructions for building binary packages.
it-IT: Questo capitolo descrive la struttura e il contenuto dei pacchetti "binari" e "sorgenti". I primi sono file direttamente utilizzabili da <command>dpkg</command>, mentre i secondi contengono il codice sorgente e le istruzioni per costruire pacchetti binari.

en: Structure of a Binary Package
it-IT: Struttura di un pacchetto binario

en: <primary>package</primary><secondary>binary package</secondary><seealso><filename>.deb</filename></seealso>
it-IT: <primary>pacchetto</primary><secondary>pacchetto binario</secondary><seealso><filename>.deb</filename></seealso>

en: The Debian package format is designed so that its content may be extracted on any Unix system that has the classic commands <command>ar</command>, <command>tar</command>, and <command>xz</command> or sometimes <command>gzip</command> or <command>bzip2</command>. This seemingly trivial property is important for portability and disaster recovery.
it-IT: Il formato dei pacchetti Debian è progettato in modo che il suo contenuto possa essere estratto su qualsiasi sistema Unix che abbia i classici comandi <command>ar</command>, <command>tar</command> e <command>xz</command> o qualche volta <command>gzip</command> o <command>bzip2</command>. Questa proprietà apparentemente banale è importante per la portabilità e il disaster recovery.

en: Imagine, for example, that you mistakenly deleted the <command>dpkg</command> program, and that you could thus no longer install Debian packages. <command>dpkg</command> being a Debian package itself, it would seem your system would be done for... Fortunately, you know the format of a package and can therefore <ulink url="https://www.debian.org/distrib/packages#search_packages">download</ulink> the <filename>.deb</filename> file of the <emphasis role="pkg">dpkg</emphasis> package and install it manually (see sidebar <xref linkend="sidebar.dpkg-apt-ar" />). If by some misfortune one or more of the programs <command>ar</command>, <command>tar</command> or <command>gzip</command>/<command>xz</command>/<command>bzip2</command> have disappeared, you will only need to copy the missing program from another system (since each of these operates in a completely autonomous manner, without dependencies, a simple copy will suffice). If your system suffered some even more outrageous fortune, and even these don't work (maybe the deepest system libraries are missing?), you should try the static version of <command>busybox</command> (provided in the <emphasis role="pkg">busybox-static</emphasis> package), which is even more self-contained, and provides subcommands such as <command>busybox ar</command>, <command>busybox tar</command> and <command>busybox xz</command>.
it-IT: Immagina, ad esempio, di aver eliminato per errore il programma <command>dpkg</command> e perciò di non poter più installare pacchetti Debian. Dal momento che <command>dpkg</command> è esso stesso un pacchetto Debian, sembrerebbe che il sistema sia spacciato… Fortunatamente, si conosce il formato di un pacchetto e pertanto si può <ulink url="https://www.debian.org/distrib/packages#search_packages">scaricare</ulink>il file <filename>.deb</filename> del pacchetto <emphasis role="pkg">dpkg</emphasis> ed installarlo manualmente (vedi il riquadro "<xref linkend="sidebar.dpkg-apt-ar" />). Se, sfortunatamente, uno o più dei programmi <command>ar</command>, <command>tar</command> o <command>gzip</command>/<command>xz</command>/<command>bzip2</command> fosse scomparso, sarà necessario solamente copiare il programma mancante da un altro sistema (dal momento che ognuno di essi opera in maniera completamente autonoma, senza dipendenze, una semplice copia è sufficiente). Se il sistema è stato ancora più sfortunato, ed anche questi non funzionano (forse mancano le librerie principali del sistema?), si dovrebbe provare la versione statica di <command>busybox</command> (fornito col pacchetto <emphasis role="pkg">busybox-static</emphasis>), che è ancora più autosufficiente e fornisce sottocomandi come <command>busybox ar</command>, <command>busybox tar</command> e <command>busybox xz</command>.

en: <emphasis>In case of a misfortune you better also have a backup of your system (see <xref linkend="sect.backup" />).</emphasis>
it-IT: <emphasis>Nel peggiore dei casi è meglio che tu abbia anche un backup del tuo sistema (vedere <xref linkend="sect.backup" />).</emphasis>

en: <emphasis>TOOLS</emphasis> <command>dpkg</command>, <command>APT</command> and <command>ar</command>
it-IT: <emphasis>STRUMENTI</emphasis> <command>dpkg</command>, <command>APT</command> e <command>ar</command>

en: <command>dpkg</command> is the program that handles <filename>.deb</filename> files (binary packages), notably extracting, analyzing, and unpacking them.
it-IT: <command>dpkg</command> è il programma che gestisce i file (pacchetti binari) <filename>.deb</filename>, in particolare l'estrazione, l'analisi e lo spacchettamento.

en: <acronym>APT</acronym> (the abbreviation of "Advanced Packaging Tool") is a group of programs that allows the execution of higher-level modifications to the system: installing or removing a package (while keeping dependencies satisfied), updating and upgrading the system, listing the available packages, etc.
it-IT: <acronym>APT</acronym> (abbreviazione di "Advanced Packaging Tool") è un gruppo di programmi che permette l'esecuzione di modifiche al sistema di più alto livello: installazione o rimozione di un pacchetto (mantenendo soddisfatte le dipendenze), aggiornamento del sistema, elenco dei pacchetti disponibili, ecc.

en: <primary>unpacking</primary><secondary>binary package</secondary>
it-IT: <primary>pacchetto</primary><secondary>pacchetto binario</secondary>

en: <emphasis>BACK TO BASICS</emphasis> Man page notation
it-IT: <emphasis>FONDAMENTALI</emphasis> Notazione delle pagine di manuale

en: It can be confusing for beginners to find references to “<citerefentry><refentrytitle>ar</refentrytitle><manvolnum>1</manvolnum></citerefentry>” in the literature. This is generally a convenient means of referring to the man page entitled <literal>ar</literal> in section 1.
it-IT: I principianti possono essere disorientati dal trovare riferimenti a "<citerefentry><refentrytitle>ar</refentrytitle><manvolnum>1</manvolnum></citerefentry>" nella documentazione. Questo è generalmente un modo comodo per riferirsi alla pagina di manuale intitolata <literal>ar</literal> nella sezione 1.

en: Sometimes this notation is also used to remove ambiguities, for example to distinguish between the <command>printf</command> command that can also be indicated by <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>1</manvolnum></citerefentry> and the <function>printf</function> function in the C programming language, which can also be referred to as <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
it-IT: Talvolta questa notazione è usata anche per evitare ambiguità, per esempio per distinguere tra il comando <command>printf</command> che può essere anche indicato da <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>1</manvolnum></citerefentry> e la funzione <function>printf</function> nel linguaggio di programmazione C, a cui ci si può riferire anche come <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>.

en: <xref linkend="solving-problems" /> discusses manual pages in further detail (see <xref linkend="sect.manual-pages" />).
it-IT: <xref linkend="solving-problems" /> tratta le pagine di manuale per maggiori dettagli (vedere la <xref linkend="sect.manual-pages" />).

en: Have a look at the content of a <filename>.deb</filename> file:
it-IT: Questo è il contenuto di un file <filename>.deb</filename>:

en: As you can see, the <command>ar</command> archive of a Debian package is comprised of three files:
it-IT: Come si può vedere, l'archivio <command>ar</command> di un pacchetto Debian è composto da tre file:

en: This archive file contains all of the available meta-information, like the name and version of the package as well as some scripts to run before, during or after (un-)installation of it. Some of the meta-information allows package management tools to determine if it is possible to install or uninstall it, for example according to the list of packages already on the machine, and if files shipped have been modified locally.
it-IT: Questo file contiene tutti i metadati disponibili, come il nome e la versione del pacchetto così come alcuni script da eseguire prima, durante o dopo un'installazione o rimozione di esso. Alcuni di questi dati permettono agli strumenti di gestione dei pacchetti di determinare se è possibile installarlo o disinstallarlo, per esempio in base all'elenco dei pacchetti già presenti sulla macchina e se i file forniti sono stati modificati localmente.

en: This archive contains all of the files to be extracted from the package; this is where the executable files, libraries, documentation, etc., are all stored. Packages may use different compression formats, in which case the file will be named differently for <command>xz</command>, <command>bzip2</command> or <command>gzip</command>.
it-IT: Questo archivio contiene tutti i file che devono essere estratti dal pacchetto; qui è dove sono memorizzati i file eseguibili, le librerie, la documentazione, ecc. I pacchetti possono usare altri formati di compressione, nel qual caso il file avrà un altro nome per <command>xz</command>, <command>bzip2</command> o <command>gzip</command>.

en: Package Meta-Information
it-IT: Meta-informazioni sul pacchetto

en: <primary>package meta-information</primary><seealso>meta-information</seealso>
it-IT: <primary>pacchetto meta-information</primary><seealso>meta-information</seealso>

en: <primary>package</primary><secondary>meta-information</secondary>
it-IT: <primary>pacchetto</primary><secondary>meta-informazioni</secondary>

en: <primary>package</primary><secondary>maintainer scripts</secondary>
it-IT: <primary>pacchetto</primary><secondary>script del manutentore</secondary>

en: <primary>package</primary><secondary>checksums</secondary>
it-IT: <primary>pacchetto</primary><secondary>checksum</secondary>

en: Description: the <filename>control</filename> File
it-IT: Descrizione: il file <filename>control</filename>

en: <primary>package meta-information</primary>
it-IT: <primary>meta-informazioni pacchetto</primary>

en: <primary>package</primary><secondary><filename>control</filename></secondary>
it-IT: <primary>pacchetto</primary><secondary><filename>control</filename></secondary>

en: <primary><filename>control</filename></primary><seealso>package meta-information</seealso>
it-IT: <primary><filename>control</filename></primary><seealso>pacchetto meta-information</seealso>

en: This file uses a structure similar to email headers (as defined by <link linkend="sidebar.rfc">RFC 2822</link>) and is fully described in the Debian Policy and the manual pages <citerefentry><refentrytitle>deb-control</refentrytitle><manvolnum>5</manvolnum></citerefentry> and <citerefentry><refentrytitle>deb822</refentrytitle><manvolnum>5</manvolnum></citerefentry>. <ulink type="block" url="https://www.debian.org/doc/debian-policy/ch-controlfields.html" />
it-IT: Questo file usa una struttura simile all'intestazione delle email (come definito nella <link linkend="sidebar.rfc">RFC 2822</link>) ed è accuratamente descritto nella Debian Policy e nelle pagine del manuale <citerefentry><refentrytitle>deb-control</refentrytitle><manvolnum>5</manvolnum></citerefentry> e <citerefentry><refentrytitle>deb822</refentrytitle><manvolnum>5</manvolnum></citerefentry>. <ulink type="block" url="https://www.debian.org/doc/debian-policy/ch-controlfields.html" />

en: For example, for <emphasis role="pkg">apt</emphasis>, the <filename>control</filename> file looks like the following:
it-IT: Per esempio, per <emphasis role="pkg">apt</emphasis>, il file <filename>control</filename> si presenta così:

en: <emphasis>BACK TO BASICS</emphasis> RFC — Internet standards
it-IT: <emphasis>FONDAMENTALI</emphasis> RFC — Standard per Internet

en: <acronym>RFC</acronym> is the abbreviation of “Request For Comments”. An RFC is generally a technical document that describes what will become an Internet standard. Before becoming standardized and frozen, these standards are submitted for public review (hence their name). The <acronym>IETF</acronym> (Internet Engineering Task Force) decides on the evolution of the status of these documents (proposed standard, draft standard, or standard).
it-IT: <acronym>RFC</acronym> è l'acronimo di "Request For Comments" ("Richiesta di commenti"). Una RFC è generalmente un documento tecnico che descrive ciò che diventerà uno standard per Internet. Prima di diventare standardizzati e congelati, questi standard sono sottoposti a una revisione pubblica (da cui il loro nome). La <acronym>IETF</acronym> (Internet Engineering Task Force) decide sull'evoluzione e sullo stato di questi documenti (proposta di standard, bozza di standard, standard).

en: RFC 2026 defines the process for standardization of Internet protocols. <ulink type="block" url="http://www.faqs.org/rfcs/rfc2026.html" />
it-IT: RFC 2026 definisce la procedura per la standardizzazione dei protocolli Internet. <ulink type="block" url="http://www.faqs.org/rfcs/rfc2026.html" />

en: Dependencies: the <literal>Depends</literal> Field
it-IT: Dipendenze: il campo <literal>Depends</literal>

en: <primary>dependency</primary>
it-IT: <primary>dipendenza</primary>

en: <primary>package</primary><secondary>dependency</secondary>
it-IT: <primary>pacchetto</primary><secondary>dipendenza</secondary>

en: <command>&lt;&lt;</command>: less than;
it-IT: <command>&lt;&lt;</command>: minore;

en: <command>&lt;=</command>: less than or equal to;
it-IT: <command>&lt;=</command>: minore o uguale;

en: <command>=</command>: equal to (note that “<literal>2.6.1</literal>” is not equal to “<literal>2.6.1-1</literal>”);
it-IT: <command>=</command>: uguale a (notare che "<literal>2.6.1</literal>" non è uguale a "<literal>2.6.1-1</literal>");

en: <command>&gt;=</command>: greater than or equal to;
it-IT: <command>&gt;=</command>: maggiore o uguale;

en: <command>&gt;&gt;</command>: greater than.
it-IT: <command>&gt;&gt;</command>: maggiore.

en: <primary>meta-package</primary>
it-IT: <primary>meta-pacchetto</primary>

en: <emphasis>DEBIAN POLICY</emphasis> <literal>Recommends</literal>, <literal>Suggests</literal>, and <literal>Enhances</literal> fields
it-IT: <emphasis>POLICY DEBIAN</emphasis> I campi <literal>Recommends</literal>, <literal>Suggests</literal> e <literal>Enhances</literal>

en: <primary>package</primary><secondary>recommendations</secondary>
it-IT: <primary>pacchetto</primary><secondary>raccomandati</secondary>

en: <primary>package</primary><secondary>suggestions</secondary>
it-IT: <primary>pacchetto</primary><secondary>suggerimenti</secondary>

en: The <literal>Recommends</literal> and <literal>Suggests</literal> fields describe dependencies that are not compulsory. The “recommended” dependencies, the most important, considerably improve the functionality offered by the package but are not indispensable to its operation. The “suggested” dependencies, of secondary importance, indicate that certain packages may complement and increase their respective utility, but it is perfectly reasonable to install one without the others.
it-IT: I campi <literal>Recommends</literal> e <literal>Suggests</literal> descrivono dipendenze non obbligatorie. Le dipendenze "raccomandate", le più importanti, migliorano considerevolmente le funzionalità offerte dal pacchetto, ma non sono indispensabili al suo funzionamento. Le dipendenze "consigliate", di importanza secondaria, indicano che certi pacchetti possono integrare o aumentare la loro rispettiva utilità, ma è perfettamente ragionevole installarne uno senza gli altri.

en: <primary>package</primary><secondary>enhancements</secondary>
it-IT: <primary>pacchetto</primary><secondary>miglioramenti</secondary>

en: The <literal>Enhances</literal> field also describes a suggestion, but in a different context. It is indeed located in the suggested package, and not in the package that benefits from the suggestion. Its interest lies in that it is possible to add a suggestion without having to modify the package that is concerned. Thus, all add-ons, plug-ins, and other extensions of a program can then appear in the list of suggestions related to the software. Although it has existed for several years, this last field is still largely ignored by programs such as <command>apt</command> or <command>synaptic</command>. Its purpose is for a suggestion made by the <literal>Enhances</literal> field to appear to the user in addition to the traditional suggestions — found in the <literal>Suggests</literal> field.
it-IT: Anche il campo <literal>Enhances</literal> descrive un consiglio, ma in un contesto differente. Infatti si trova nel pacchetto consigliato, non nel pacchetto che beneficia del consiglio. È interessante perché è possibile aggiungere un consiglio senza dover modificare il pacchetto interessato. Perciò, tutte le aggiunte, plug-in, e altre estensioni a un programma possono prendere posto nell'elenco di consigli relativi a quel software. Sebbene esista da diversi anni, quest'ultimo campo è ancora largamente ignorato da programmi come <command>apt-get</command> o <command>synaptic</command>. Il suo scopo è far apparire all'utente un consiglio fatto dal campo <literal>Enhances</literal> in aggiunta ai tradizionali consigli trovati nel campo <literal>Suggests</literal>.

en: <emphasis>DEBIAN POLICY</emphasis> <literal>Pre-Depends</literal>, a more demanding <literal>Depends</literal>
it-IT: <emphasis>POLICY DEBIAN</emphasis> <literal>Pre-Depends</literal>, più esigente di <literal>Depends</literal>

en: <primary>package</primary><secondary>pre-dependency</secondary>
it-IT: <primary>pacchetto</primary><secondary>pre-dipendenza</secondary>

en: <primary>pre-dependency</primary>
it-IT: <primary>pre-dipendenza</primary>

en: “Pre-dependencies”, which are listed in the “<literal>Pre-Depends</literal>” field in the package headers, complete the normal dependencies; their syntax is identical. A normal dependency indicates that the package in question must be unpacked and configured before configuration of the package declaring the dependency. A pre-dependency stipulates that the package in question must be unpacked and configured before execution of the pre-installation script of the package declaring the pre-dependency, that is before its installation.
it-IT: Le "pre-dipendenze", che sono elencate nel campo "<literal>Pre-Depends</literal>" nelle intestazioni del pacchetto, completano le normali dipendenze; la loro sintassi è identica. Una normale dipendenza indica che il pacchetto in questione deve essere scompattato e configurato prima del pacchetto che dichiara la pre-dipendenza. Una pre-dipendenza indica espressamente che il pacchetto in questione deve essere scompattato e configurato prima dell'esecuzione dello script di pre-installazione del pacchetto che dichiara la pre-dipendenza, cioè prima della sua installazione.

en: Conflicts: the <literal>Conflicts</literal> field
it-IT: Conflitti: il campo <literal>Conflicts</literal>

en: <primary>conflicts</primary>
it-IT: <primary>conflitti</primary>

en: <primary>package</primary><secondary>conflict</secondary>
it-IT: <primary>pacchetto</primary><secondary>conflitto</secondary>

en: The <literal>Conflicts</literal> field indicates when a package cannot be installed simultaneously with another. The most common reasons for this are that both packages include a file of the same name and path, or provide the same service on the same TCP port, or would hinder each other's operation.
it-IT: Il campo <literal>Conflitti</literal> indica quando un pacchetto non può essere installato insieme ad un altro. I motivi più comuni sono che entrambi i pacchetti contengono un file con lo stesso nome e percorso o forniscono lo stesso servizio sulla stessa porta TCP, oppure si ostacolerebbero a vicenda durante il funzionamento.

en: <command>dpkg</command> will refuse to install a package if it triggers a conflict with an already installed package, except if the new package specifies that it will “replace” the installed package, in which case <command>dpkg</command> will choose to replace the old package with the new one. <command>apt</command> always follows your instructions: if you choose to install a new package, it will automatically offer to uninstall the package that poses a problem.
it-IT: <command>dpkg</command> si rifiuterà di installare un pacchetto che provoca un conflitto con un pacchetto già installato, a meno che il nuovo pacchetto non specifichi che "sostituisce" il pacchetto installato, nel qual caso <command>dpkg</command> sceglierà di sostituire il vecchio pacchetto con quello nuovo. <command>apt</command> segue sempre le istruzioni: se si sceglie di installare un nuovo pacchetto, offrirà automaticamente di disinstallare il pacchetto che crea un problema.

en: Incompatibilities: the <literal>Breaks</literal> Field
it-IT: Incompatibilità: il campo <literal>Breaks</literal>

en: <primary>incompatibilities</primary>
it-IT: <primary>incompatibilità</primary>

en: <primary>package</primary><secondary>incompatibility</secondary>
it-IT: <primary>pacchetto</primary><secondary>incompatibilità</secondary>

en: The <literal>Breaks</literal> field has an effect similar to that of the <literal>Conflicts</literal> field, but with a special meaning. It signals that the installation of a package will “break” another package (or particular versions of it). In general, this incompatibility between two packages is transitory, and the <literal>Breaks</literal> relationship specifically refers to the incompatible versions.
it-IT: Il campo <literal>Breaks</literal> ha un effetto simile a <literal>Conflicts</literal>, ma con un significato speciale. Segnala che l'installazione di un pacchetto "renderà difettoso" un altro pacchetto (o delle sue versioni particolari). In generale, questa incompatibilità tra due pacchetti è transitoria e la relazione <literal>Breaks</literal> fa specifico riferimento alle versioni incompatibili.

en: <command>dpkg</command> will refuse to install a package that breaks an already installed package, and <command>apt</command> will try to resolve the problem by updating the package that would be broken to a newer version (which is assumed to be fixed and, thus, compatible again).
it-IT: <command>dpkg</command> si rifiuterà di installare un pacchetto che rende difettoso un pacchetto già installato e <command>apt</command> cercherà di risolvere il problema aggiornando il pacchetto che sarebbe reso difettoso a una nuova versione (che si suppone corretta e, perciò, di nuovo compatibile).

en: This type of situation may occur in the case of updates without backwards compatibility: this is the case if the new version no longer functions with the older version, and causes a malfunction in another program without making special provisions. The <literal>Breaks</literal> field prevents the user from running into these problems.
it-IT: Questo tipo di situazione può accadere in caso di aggiornamenti senza compatibilità all'indietro: questo è il caso di una nuova versione che non funziona più insieme alla vecchia versione e causa un malfunzionamento in un altro programma senza avere accorgimenti speciali. Il campo <literal>Breaks</literal> evita che l'utente incontri tali problemi.

en: Provided Items: the <literal>Provides</literal> Field
it-IT: Oggetti forniti: il campo <literal>Provides</literal>

en: This field introduces the very interesting concept of a “virtual package”. It has many roles, but two are of particular importance. The first role consists in using a virtual package to associate a generic service with it (the package “provides” the service). The second indicates that a package completely replaces another, and that for this purpose it can also satisfy the dependencies that the other would satisfy. It is thus possible to create a substitution package without having to use the same package name.
it-IT: Questo campo introduce il concetto molto interessante di "pacchetto virtuale". Ha molti ruoli, ma due sono particolarmente importanti. Il primo ruolo consiste nell'usare un pacchetto virtuale per associare ad esso un servizio generico (il pacchetto "fornisce" il servizio). Il secondo indica che un pacchetto sostituisce completamente un altro e che per questo scopo può anche soddisfare le dipendenze che l'altro soddisferebbe. Perciò è possibile creare un pacchetto sostitutivo senza dover usare il solito nome di pacchetto.

en: <emphasis>VOCABULARY</emphasis> Meta-package and virtual package
it-IT: <emphasis>VOCABOLARIO</emphasis> Meta-pacchetto e pacchetto virtuale

en: <primary>package</primary><secondary>virtual package</secondary>
it-IT: <primary>pacchetto</primary><secondary>pacchetto virtuale</secondary>

en: <primary>virtual package</primary>
it-IT: <primary>pacchetto virtuale</primary>

en: It is essential to clearly distinguish meta-packages from virtual packages. The former are real packages (including real <filename>.deb</filename> files), whose only purpose is to express dependencies.
it-IT: È essenziale distinguere chiaramente i meta-pacchetti dai pacchetti virtuali. I primi sono pacchetti reali (che comprendono dei file <filename>.deb</filename> reali), il cui unico scopo è di esprimere dipendenze.

en: Virtual packages, however, do not exist physically; they are only a means of identifying real packages based on common, logical criteria (service provided, compatibility with a standard program or a pre-existing package, etc.).
it-IT: I pacchetti virtuali, invece, non esistono fisicamente; sono solo un mezzo per identificare pacchetti reali in base a criteri comuni e logici (servizio fornito, compatibilità con un programma standard o con un pacchetto preesistente, ecc.).

en: Providing a “Service”
it-IT: Fornire un "servizio"

en: Let us discuss the first case in greater detail with an example: all mail servers, such as <emphasis role="pkg">postfix</emphasis> or <emphasis role="pkg">sendmail</emphasis> are said to “provide” the <emphasis role="pkg">mail-transport-agent</emphasis> virtual package. Thus, any package that needs this service to be functional (e.g. a mailing list manager, such as <emphasis role="pkg">smartlist</emphasis> or <emphasis role="pkg">sympa</emphasis>) simply states in its dependencies that it requires a <emphasis role="pkg">mail-transport-agent</emphasis> instead of specifying a large yet incomplete list of possible solutions (e.g. <command>postfix | sendmail | exim4 | …</command>). Furthermore, it is useless to install two mail servers on the same machine, which is why each of these packages declares a conflict with the <emphasis role="pkg">mail-transport-agent</emphasis> virtual package. A conflict between a package and itself is ignored by the system, but this technique will prohibit the installation of two mail servers side by side.
it-IT: Il primo caso può essere discusso nei dettagli con un esempio: si dice che tutti server di posta, come <emphasis role="pkg">postfix</emphasis> o <emphasis role="pkg">sendmail</emphasis> "forniscono" il pacchetto virtuale <emphasis role="pkg">mail-transport-agent</emphasis>. Perciò, ogni pacchetto che abbia bisogno di questo servizio per funzionare (es. un gestore di mailing list come <emphasis role="pkg">smartlist</emphasis> o <emphasis role="pkg">sympa</emphasis>) semplicemente dichiara nelle proprie dipendenze di richiedere <emphasis role="pkg">mail-transport-agent</emphasis> invece di specificare un lungo ed incompleto elenco di possibili soluzioni (es. <command>postfix | sendmail | exim | …</command>). Inoltre, è inutile installare due server di posta sulla stessa macchina, questo è il motivo per cui ognuno di tali pacchetti dichiara un conflitto con il pacchetto virtuale <emphasis role="pkg">mail-transport-agent</emphasis>. Il conflitto di un pacchetto con sé stesso viene ignorato dal sistema, ma questa tecnica impedisce l'installazione contemporanea di due server di posta.

en: <emphasis>DEBIAN POLICY</emphasis> List of virtual packages
it-IT: <emphasis>POLICY DEBIAN</emphasis> Elenco di pacchetti virtuali

en: For virtual packages to be useful, everyone must agree on their name. This is why they are standardized in the Debian Policy. The list includes among others <emphasis role="pkg">mail-transport-agent</emphasis> for mail servers, <emphasis role="pkg">c-compiler</emphasis> for C programming language compilers, <emphasis role="pkg">www-browser</emphasis> for web browsers, <emphasis role="pkg">httpd</emphasis> for web servers, <emphasis role="pkg">ftp-server</emphasis> for FTP servers, <emphasis role="pkg">x-terminal-emulator</emphasis> for terminal emulators in graphical mode (<command>xterm</command>), and <emphasis role="pkg">x-window-manager</emphasis> for window managers.
it-IT: Perché i pacchetti virtuali siano utili, tutti devono concordare sul loro nome. Questo è il motivo per cui sono standardizzati nella Policy Debian. L'elenco include tra gli altri <emphasis role="pkg">mail-transport-agent</emphasis> per i server di posta, <emphasis role="pkg">c-compiler</emphasis> per i compilatori del linguaggio di programmazione C, <emphasis role="pkg">www-browser</emphasis> per i browser web, <emphasis role="pkg">httpd</emphasis> per i server web, <emphasis role="pkg">ftp-server</emphasis> per i server FTP, <emphasis role="pkg">x-terminal-emulator</emphasis> per gli emulatori di terminale in modalità grafica (<command>xterm</command>) e <emphasis role="pkg">x-window-manager</emphasis> per i gestori di finestre.

en: Interchangeability with Another Package
it-IT: Interscambiabilità con un altro pacchetto

en: Use of a <literal>Provides</literal> field in order to not break dependencies
it-IT: Uso del campo <literal>Provides</literal> per non lasciare dipendenze non soddisfatte

en: This feature is very useful, since it is never possible to anticipate the vagaries of development, and it is necessary to be able to adjust to renaming, and other automatic replacement, of obsolete software.
it-IT: Questa caratteristica è molto utile dal momento che non è mai possibile anticipare le variabilità dello sviluppo ed è necessario essere in grado di adattarsi ai cambiamenti di nome del software obsoleto e ad altre sostituzioni automatiche.

en: <emphasis>BACK TO BASICS</emphasis> Perl, a programming language
it-IT: <emphasis>FONDAMENTALI</emphasis> Perl, un linguaggio di programmazione

en: Perl (Practical Extraction and Report Language) is a very popular programming language. It has many ready-to-use modules that cover a vast spectrum of applications, and that are distributed by the <acronym>CPAN</acronym> (Comprehensive Perl Archive Network) servers, an exhaustive network of Perl packages. <ulink type="block" url="https://www.perl.org/" /> <ulink type="block" url="https://www.cpan.org/" />
it-IT: Perl (Practical Extraction and Report Language) è un linguaggio di programmazione molto popolare. Ha molti moduli pronti all'uso che coprono un vasto spettro di applicazioni e che sono distribuiti tramite i server <acronym>CPAN</acronym> (Comprehensive Perl Archive Network), una completa rete di pacchetti Perl. <ulink type="block" url="https://www.perl.org/" /> <ulink type="block" url="https://www.cpan.org/" />

en: Since it is an interpreted language, a program written in Perl does not require compilation prior to execution. This is why they are called “Perl scripts”.
it-IT: Dal momento che è un linguaggio interpretato, un programma scritto in Perl non richiede una compilazione prima dell'esecuzione. Questo è il motivo per cui sono chiamati "script Perl".

en: Past Limitations
it-IT: Vecchie limitazioni

en: Replacing Files: The <literal>Replaces</literal> Field
it-IT: Sostituzione di file: il campo <literal>Replaces</literal>

en: <primary>replacement</primary>
it-IT: <primary>sostituzione</primary>

en: <primary>package</primary><secondary>replacement</secondary>
it-IT: <primary>pacchetto</primary><secondary>sostituzione</secondary>

en: The use of this field is justified when package names change or when a package is included in another. This also happens when the maintainer decides to distribute files differently among various binary packages produced from the same source package: a replaced file no longer belongs to the old package, but only to the new one.
it-IT: L'uso di questo campo è giustificato quando il nome del pacchetto cambia o quando un pacchetto è incluso in un altro. Questo succede anche quando il manutentore decide di distribuire i file in maniera differente tra i vari pacchetti binari prodotti dallo stesso pacchetto sorgente: un file sostituito non appartiene più al vecchio pacchetto, ma solo a quello nuovo.

en: If all of the files in an installed package have been replaced, the package is considered to be removed. Finally, this field also encourages <command>dpkg</command> to remove the replaced package where there is a conflict.
it-IT: Se tutti i file di un pacchetto installato sono stati sostituiti, il pacchetto è considerato come rimosso. Infine, questo campo istruisce <command>dpkg</command> a rimuovere il pacchetto sostituito quando c'è un conflitto.

en: <emphasis>GOING FURTHER</emphasis> The <literal>Tag</literal> field
it-IT: <emphasis>APPROFONDIMENTI</emphasis> Il campo <literal>Tag</literal>

en: Configuration Scripts
it-IT: Script di configurazione

en: <emphasis>GOING FURTHER</emphasis> <command>dpkg</command>'s database
it-IT: <emphasis>APPROFONDIMENTI</emphasis> Il database di <command>dpkg</command>

en: All of the configuration scripts for installed packages are stored in the <filename>/var/lib/dpkg/info/</filename> directory, in the form of a file prefixed with the package's name. This directory also includes a file with the <filename>.list</filename> extension for each package, containing the list of files that belong to that package.
it-IT: Tutti gli script di configurazione per i pacchetti installati sono memorizzati nella directory <filename>/var/lib/dpkg/info/</filename>, sotto forma di file il cui nome inizia con il nome del pacchetto. Questa directory comprende anche un file con l'estensione <filename>.list</filename> per ogni pacchetto, che contiene l'elenco dei file che appartengono a tale pacchetto.

en: The <filename>/var/lib/dpkg/status</filename> file contains a series of data blocks (in the format of the famous mail headers, RFC 2822) describing the status of each package. The information from the <filename>control</filename> file of the installed packages is also replicated there.
it-IT: Il file <filename>/var/lib/dpkg/status</filename> contiene una serie di blocchi di dati (nel formato delle note intestazioni di posta, RFC 2822) che descrive lo stato di ogni pacchetto. Anche le informazioni del file <filename>control</filename> del pacchetto installato sono duplicate qui.

en: In general, the <filename>preinst</filename> script is executed prior to installation of the package, while <filename>postinst</filename> follows it. Likewise, <filename>prerm</filename> is invoked before removal of a package and <filename>postrm</filename> afterwards. An update of a package is equivalent to removal of the previous version and installation of the new one. It is not possible to describe in detail all the possible scenarios here, but we will discuss the most common two: an installation/update and a removal.
it-IT: In genere, lo script <filename>preinst</filename> viene eseguito prima dell'installazione del pacchetto, seguito da <filename>postinst</filename>. Nella stessa maniera, <filename>prerm</filename> viene invocato prima della rimozione di un pacchetto e <filename>postrm</filename> dopo. Un aggiornamento di un pacchetto equivale alla rimozione della versione precedente e all'installazione di quella nuova. Non è possibile descrivere qui i dettagli di tutti i possibili scenari, ma saranno discussi i due più comuni: un'installazione/aggiornamento e una rimozione.

en: <emphasis>CAUTION</emphasis> Symbolic names of the scripts
it-IT: <emphasis>ATTENZIONE</emphasis> Nomi simbolici degli script

en: The sequences described in this section call configuration scripts by specific names, such as <command>old-prerm</command> or <command>new-postinst</command>. They are, respectively, the <command>prerm</command> script contained in the old version of the package (installed before the update) and the <command>postinst</command> script contained in the new version (installed by the update).
it-IT: Le sequenze descritte in questa sezione chiamano gli script di configurazione con nomi specifici come <command>old-prerm</command> o <command>new-postinst</command>. Sono rispettivamente lo script <command>prerm</command> contenuto nella vecchia versione del pacchetto (installata prima dell'aggiornamento) e lo script <command>postinst</command> contenuto nella nuova versione (installata dall'aggiornamento).

en: <emphasis>TIP</emphasis> State diagrams
it-IT: <emphasis>SUGGERIMENTO</emphasis> Diagrammi di stato

en: Manoj Srivastava and Margarita Manterola made the following diagrams explaining how the configuration scripts are called by <command>dpkg</command>. <ulink type="block" url="https://people.debian.org/~srivasta/MaintainerScripts.html" /> <ulink type="block" url="https://www.debian.org/doc/debian-policy/ap-flowcharts.html" />
it-IT: Manoj Srivastava e Margarita Manterola hanno creato questi diagrammi che spiegano come gli script di configurazione vengono chiamati da <command>dpkg</command>. <ulink type="block" url="https://people.debian.org/~srivasta/MaintainerScripts.html" /> <ulink type="block" url="https://www.debian.org/doc/debian-policy/ap-flowcharts.html" />

en: Installation and Upgrade
it-IT: Installazione e aggiornamento

en: <primary><command>dpkg</command></primary><secondary>internal operation</secondary>
it-IT: <primary><command>dpkg</command></primary><secondary>funzionamento interno</secondary>

en: <primary>package</primary><secondary>installation</secondary>
it-IT: <primary>pacchetto</primary><secondary>installazione</secondary>

en: The new package files are then unpacked. If a file already exists, it is replaced, but a backup copy is temporarily made.
it-IT: Poi i file del nuovo pacchetto vengono scompattati. Se un file esiste già, viene sostituito, ma viene fatta temporaneamente una copia di backup.

en: <command>dpkg</command> updates all of the internal data (file list, configuration scripts, etc.) and removes the backups of the replaced files. This is the point of no return: <command>dpkg</command> no longer has access to all of the elements necessary to return to the previous state.
it-IT: <command>dpkg</command> aggiorna tutti i dati interni (elenco file, script di configurazione, ecc.) e rimuove i backup dei file sostituiti. Questo è il punto di non ritorno: <command>dpkg</command> non ha più accesso a tutti gli elementi necessari a ritornare allo stato precedente.

en: <command>dpkg</command> will update the configuration files, asking the user to decide if it is unable to automatically manage this task. The details of this procedure are discussed in <xref linkend="sect.conffiles" />.
it-IT: <command>dpkg</command> aggiornerà i file di configurazionek, chiedendo all'utente di decidere se non è in grado di gestire automaticamente questo compito. I dettagli di questa procedura sono discussi nella <xref linkend="sect.conffiles" />.

en: Package Removal
it-IT: Rimozione di pacchetti

en: <primary>package</primary><secondary>removal</secondary>
it-IT: <primary>pacchetto</primary><secondary>rimozione</secondary>

en: <emphasis>VOCABULARY</emphasis> Purge, a complete removal
it-IT: <emphasis>VOCABOLARIO</emphasis> Purge, una rimozione completa

en: <primary>purging a package</primary>
it-IT: <primary>eliminazione completa di un pacchetto</primary>

en: <primary>package</primary><secondary>purge</secondary>
it-IT: <primary>pacchetto</primary><secondary>eliminazione completa</secondary>

en: When a Debian package is removed, the configuration files are retained in order to facilitate possible re-installation. Likewise, the data generated by a daemon (such as the content of an LDAP server directory, or the content of a database for an SQL server) are usually retained.
it-IT: Quando un pacchetto Debian viene rimosso, i file di configurazione sono conservati per facilitare una possibile reinstallazione. Per lo stesso motivo, i dati generati da un demone (come i contenuti della directory di un server LDAP o il contenuto di un database per un server SQL) normalmente sono conservati.

en: To remove all data associated with a package, it is necessary to “purge” the package with the command, <command>dpkg -P <replaceable>package</replaceable></command>, <command>apt-get remove --purge <replaceable>package</replaceable></command> or <command>aptitude purge <replaceable>package</replaceable></command>.
it-IT: Per rimuovere tutti i dati associati a un pacchetto, è necessario eseguirne il "purge" con il comando <command>dpkg -P <replaceable>pacchetto</replaceable></command>, <command>apt-get remove --purge <replaceable>pacchetto</replaceable></command> oppure <command>aptitude purge <replaceable>pacchetto</replaceable></command>.

en: Given the definitive nature of such data removals, a purge should not be taken lightly.
it-IT: Vista la natura definitiva di tale rimozione di dati, una rimozione con purge non dovrebbe essere effettuata con leggerezza.

en: <primary><filename>config</filename>, <command>debconf</command> script</primary>
it-IT: <primary><filename>config</filename>, script di <command>debconf</command></primary>

en: The four scripts detailed above are complemented by a <filename>config</filename> script, provided by packages using <command>debconf</command> to acquire information from the user for configuration. During installation, this script defines in detail the questions asked by <command>debconf</command>. The responses are recorded in the <command>debconf</command> database for future reference. The script is generally executed by <command>apt</command> prior to installing packages one by one in order to group all the questions and ask them all to the user at the beginning of the process. The pre- and post-installation scripts can then use this information to operate according to the user's wishes.
it-IT: I quattro script descritti più avanti sono complementati da uno script <filename>config</filename>, fornito dai pacchetti usando <command>debconf</command> per acquisire dall'utente le informazioni per la configurazione. Durante l'installazione, questo script definisce nei dettagli le domande poste da <command>debconf</command>. Le risposte sono registrate del database di <command>debconf</command> per usi futuri. Lo script è generalmente eseguito da <command>apt</command> prima di installare i pacchetti uno per uno in modo da raggruppare tutte le domande e porle all'utente all'inizio del procedimento. Gli script pre- e post-installazione possono quindi usare queste informazioni per operare secondo i desideri dell'utente.

en: <emphasis>TOOL</emphasis> <command>debconf</command>
it-IT: <emphasis>STRUMENTO</emphasis> <command>debconf</command>

en: <command>debconf</command> was created to resolve a recurring problem in Debian. All Debian packages unable to function without a minimum of configuration used to ask questions with calls to the <command>echo</command> and <command>read</command> commands in <filename>postinst</filename> shell scripts (and other similar scripts). But this also means that during a large installation or update the user must stay with their computer to respond to various questions that may arise at any time. These manual interactions have now been almost entirely dispensed with, thanks to the <command>debconf</command> tool.
it-IT: <command>debconf</command> è stato creato per risolvere un problema ricorrente in Debian. Tutti i pacchetti Debian che non sono in grado di funzionare senza un minimo di configurazione ponevano le loro domande con chiamate ai comandi <command>echo</command> e <command>read</command> in script della shell come <filename>postinst</filename> e script simili. Ma questo significava che durante un'installazione o un aggiornamento importante l'utente doveva stare davanti al computer per rispondere alle varie domande che potevano essere poste in qualsiasi momento. Queste interazioni manuali sono quasi completamente eliminate grazie allo strumento <command>debconf</command>.

en: <command>debconf</command> has many interesting features: it requires the developer to specify user interaction; it allows localization of all the strings displayed to users (all translations are stored in the <filename>templates</filename> file describing the interactions); it has different frontends to display the questions to the user (text mode, graphical mode, non-interactive); and it allows creation of a central database of responses to share the same configuration with several computers... but the most important is that it is now possible to present all of the questions in a row to the user, prior to starting a long installation or update process. The user can go about their business while the system handles the installation on its own, without having to stay there staring at the screen waiting for questions.
it-IT: <command>debconf</command> ha molte caratteristiche interessanti: richiede che lo sviluppatore specifichi l'interazione con l'utente; permette la localizzazione di varie stringhe di caratteri visualizzate (tutte le traduzioni sono memorizzate nel file <filename>templates</filename> che descrive le interazioni); ha diversi modelli di visualizzazione per sottoporre le domande all'utente (modalità testo, modalità grafica, non interattiva); permette la creazione di un database centrale di risposte per condividere la stessa configurazione con diversi computer... ma la più importante è che ora è possibile presentare tutte le domande in blocco prima di iniziare un lungo processo di installazione o di aggiornamento. L'utente può fare altre cose mentre il sistema gestisce da solo l'installazione, senza dove stare a fissare lo schermo in attesa di domande.

en: <primary>checksums</primary>
it-IT: <primary>conflitti</primary>

en: In effect, in this situation, <command>dpkg</command> behaves as intelligently as possible: if the standard configuration file has not changed between the two versions, it does nothing. If, however, the file has changed, it will try to update this file. Two cases are possible: either the administrator has not touched this configuration file, in which case <command>dpkg</command> automatically installs the new version; or the file has been modified, in which case <command>dpkg</command> asks the administrator which version they wish to use (the old one with modifications, or the new one provided with the package). To assist in making this decision, <command>dpkg</command> offers to display a “<command>diff</command>” that shows the difference between the two versions. If the user chooses to retain the old version, the new one will be stored in the same location in a file with the <filename>.dpkg-dist</filename> suffix. If the user chooses the new version, the old one is retained in a file with the <filename>.dpkg-old</filename> suffix. Another available action consists of momentarily interrupting <command>dpkg</command> to edit the file and attempt to re-instate the relevant modifications (previously identified with <command>diff</command>).
it-IT: In effetti, in questa situazione, <command>dpkg</command> si comporta il più intelligentemente possibile: non fa niente se il file di configurazione standard non è cambiato tra le due versioni. Se, invece, il file è cambiato, cercherà di aggiornarlo. Sono possibili due casi: o l'amministratore non ha toccato questo file di configurazione, nel qual caso <command>dpkg</command> installa automaticamente la nuova versione; oppure il file è stato modificato, nel qual caso <command>dpkg</command> chiede all'amministratore quale versione desidera usare (quella vecchia con modifiche o quella nuova fornita con il pacchetto). Per aiutare nella decisione, <command>dpkg</command> offre la possibilità di visualizzare un "<command>diff</command>" che mostra le differenze tra le due versioni. Se l'utente sceglie di tenere la vecchia versione, quella nuova sarà memorizzata nella stessa posizione, in un file con il suffisso <filename>.dpkg-dist</filename>. Se l'utente sceglie la nuova versione, quella vecchia è mantenuta in un file con il suffisso <filename>.dpkg-old</filename>. Un'altra azione disponibile consiste nell'interrompere momentaneamente <command>dpkg</command> per modificare il file e tentare di applicare di nuovo le relative modifiche (precedentemente identificate con <command>diff</command>).

en: <emphasis>GOING FURTHER</emphasis> Force dpkg to ask configuration file questions
it-IT: <emphasis>APPROFONDIMENTI</emphasis> Obbligare dpkg a porre le domande del file di configurazione

en: The <command>--force-confask</command> option requires <command>dpkg</command> to display the questions about the configuration files, even in cases where they would not normally be necessary. Thus, when reinstalling a package with this option, <command>dpkg</command> will ask the questions again for all of the configuration files modified or deleted by the administrator. This is very convenient, especially for reinstalling the original configuration file if it has been deleted and no other copy is available: a normal re-installation won't work, because <command>dpkg</command> considers removal as a form of legitimate modification, and, thus, doesn't install the desired configuration file.
it-IT: L'opzione <command>--force-confask</command> richiede che <command>dpkg</command> visualizzi le domande sui file di configurazione, anche nei casi in cui non sarebbe normalmente necessario. Perciò, durante la reinstallazione di un pacchetto con questa opzione, <command>dpkg</command> porrà di nuovo le domande per tutti i file di configurazione modificati o cancellati dall'amministratore. Ciò è molto comodo, specialmente per reinstallare il file di configurazione originale se è stato eliminato o non è disponibile un'altra copia: una normale reinstallazione non funzionerebbe perché <command>dpkg</command> considera la rimozione come una forma legittima di modifica e, perciò, non installa il file di configurazione desiderato.

en: <emphasis>GOING FURTHER</emphasis> Avoiding the configuration file questions
it-IT: <emphasis>APPROFONDIMENTI</emphasis> Evitare le domande del file di configurazione

en: <command>dpkg</command> handles configuration file updates, but, while doing so, regularly interrupts its work to ask for input from the administrator. This makes it less than enjoyable for those who wish to run updates in a non-interactive manner. This is why this program offers options that allow the system to respond automatically according to the same logic: <command>--force-confold</command> retains the old version of the file; <command>--force-confnew</command> will use the new version of the file (these choices are respected, even if the file has not been changed by the administrator, which only rarely has the desired effect). Adding the <command>--force-confdef</command> option tells <command>dpkg</command> to decide by itself when possible (in other words, when the original configuration file has not been touched), and only uses <command>--force-confnew</command> or <command>--force-confold</command> for other cases.
it-IT: <command>dpkg</command> gestisce gli aggiornamenti del file di configurazione, ma interrompe regolarmente queste operazioni per chiedere input dall'amministratore. Questo lo rende poco piacevole per chi desidera eseguire gli aggiornamenti in maniera non interattiva. Questo è il motivo per cui questo programma offre opzioni che permettono al sistema di rispondere automaticamente secondo la stessa logica: <command>--force-confold</command> mantiene la vecchia versione del file; <command>--force-confnew</command> userà la nuova versione del file (queste scelte sono rispettate anche se il file non è stato cambiato dall'amministratore, cosa che solo raramente ha l'effetto desiderato). L'aggiunta dell'opzione <command>--force-confdef</command> dice a <command>dpkg</command> di usare l'opzione predefinita quando è offerta una scelta (in altre parole, quando il file di configurazione originale non è stato toccato) e usa <command>--force-confnew</command> o <command>--force-confold</command> per gli altri casi.

en: These options apply to <command>dpkg</command> and are explained in detail in <citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</manvolnum></citerefentry> or <command>dpkg --force-help</command>, but most of the time the administrator will work directly with the <command>aptitude</command> or <command>apt</command> programs. It is, thus, necessary to know the syntax used to indicate the options to pass to the <command>dpkg</command> command (their command line interfaces are very similar).
it-IT: Queste opzioni si applicano a <command>dpkg</command>, e sono spiegate in dettaglio in <citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</manvolnum></citerefentry> o <command>dpkg --force-help</command>, ma la maggior parte del tempo l'amministratore lavorerà direttamente con i programmi <command>aptitude</command> o <command>apt</command>. È, perciò, necessario conoscere la sintassi usata per indicare le opzioni da passare al comando <command>dpkg</command> (le loro interfacce da riga di comando sono molto simili).

en: Including this option in the configuration file means that it will also be used in a graphical interface such as <command>aptitude</command>.
it-IT: Includere questa opzione nel file di configurazione permetterà di usarlo anche in un'interfaccia grafica come <command>aptitude</command>.

en: Structure of a Source Package
it-IT: Struttura di un pacchetto sorgente

en: <primary>package</primary><secondary>source package</secondary>
it-IT: <primary>pacchetto</primary><secondary>pacchetto sorgente</secondary>

en: <primary>source package</primary>
it-IT: <primary>pacchetto sorgente</primary>

en: Format
it-IT: Formato

en: <primary>DSC file</primary>
it-IT: <primary>file DSC</primary>

en: A source package is usually comprised of three files, a <filename>.dsc</filename>, a <filename>.orig.tar.gz</filename>, and a <filename>.debian.tar.xz</filename> (or <filename>.diff.gz</filename>). They allow creation of binary packages (<filename>.deb</filename> files described above) from the source code files of the program, which are written in a programming language.
it-IT: Un pacchetto sorgente è normalmente composto da tre file, un <filename>.dsc</filename>, un <filename>.orig.tar.gz</filename> e un <filename>.debian.tar.xz</filename> (o <filename>.diff.gz</filename>). Essi permettono la creazione di pacchetti binari (i file <filename>.deb</filename> descritti precedentemente) dal loro codice sorgente, scritti in un linguaggio di programmazione.

en: The <filename>.dsc</filename> (Debian Source Control) file is a short text file containing an RFC 2822 header (just like the <filename>control</filename> file studied in <xref linkend="sect.control" />) which describes the source package and indicates which other files are part thereof. It is signed by its maintainer, which guarantees authenticity. See <xref linkend="sect.package-authentication" /> for further details on this subject.
it-IT: Il file <filename>.dsc</filename> (Debian Source Control) è un breve file di testo che contiene un'intestazione RFC 2822 (proprio come il file <filename>control</filename> esaminato nella <xref linkend="sect.control" />) che descrive il pacchetto sorgente e indica quali altri file ne fanno parte. È firmato dal suo manutentore, il che garantisce la sua autenticità. Vedere la <xref linkend="sect.package-authentication" /> per ulteriori dettagli su questo argomento.

en: A <filename>.dsc</filename> file
it-IT: Un file <filename>.dsc</filename>

en: <primary>package</primary><secondary>build dependencies</secondary>
it-IT: <primary>pacchetto</primary><secondary>dipendenze di compilazione</secondary>

en: Note that the source package also has dependencies (<literal>Build-Depends</literal>) completely distinct from those of binary packages, since they indicate tools required to compile the software in question and construct its binary package.
it-IT: Notare che anche il pacchetto sorgente ha delle dipendenze (<literal>Build-Depends</literal>) completamente distinte da quelle del pacchetto binario, dal momento che indicano gli strumenti richiesti per compilare il software in questione e creare il suo pacchetto binario.

en: <emphasis>CAUTION</emphasis> Distinct namespaces
it-IT: <emphasis>ATTENZIONE</emphasis> Spazi di nomi distinti

en: It is important to note here that there is no required correspondence between the name of the source package and that of the binary package(s) that it generates. It is easy enough to understand if you know that each source package may generate several binary packages. This is why the <filename>.dsc</filename> file has the <literal>Source</literal> and <literal>Binary</literal> fields to explicitly name the source package and store the list of binary packages that it generates.
it-IT: È importante notare qui che non c'è una forte corrispondenza tra il nome del pacchetto sorgente e quello dei pacchetti binari che genera. È abbastanza facile da capire se si sa che ogni pacchetto sorgente può generare diversi pacchetti binari. Questo è il motivo per cui il file <filename>.dsc</filename> ha dei campi <literal>Source</literal> e <literal>Binary</literal> per nominare esplicitamente il pacchetto sorgente e memorizzare l'elenco dei pacchetti binari che esso genera.

en: <emphasis>CULTURE</emphasis> Why divide into several packages
it-IT: <emphasis>CULTURA</emphasis> Perché dividere in diversi pacchetti

en: Quite frequently, a source package (for a given software) can generate several binary packages. The split is justified by the possibility to use (parts of) the software in different contexts. Consider a shared library, it may be installed to make an application work (for example, <emphasis role="pkg">libc6</emphasis>), or it can be installed to develop a new program (<emphasis role="pkg">libc6-dev</emphasis> will then be the correct package). We find the same logic for client/server services where we want to install the server part on one machine and the client part on others (this is the case, for example, of <emphasis role="pkg">openssh-server</emphasis> and <emphasis role="pkg">openssh-client</emphasis>).
it-IT: Piuttosto di frequente, un pacchetto sorgente (per un certo gruppo di programmi) può generare diversi pacchetti binari. Le ragioni sono molteplici: un programma può spesso essere usato in contesti diversi, per cui una libreria condivisa può essere installata per far funzionare un'applicazione (per esempio <emphasis role="pkg">libc6</emphasis>) o può essere installata per sviluppare un nuovo programma (<emphasis role="pkg">libc6-dev</emphasis> sarà allora il pacchetto corretto). La stessa logica si trova per servizi client/server dove la parte server è installata su una macchina e la parte client su altre (questo è il caso, per esempio, di <emphasis role="pkg">openssh-server</emphasis> e di <emphasis role="pkg">openssh-client</emphasis>).

en: <emphasis>PERSPECTIVE</emphasis> Different source package formats
it-IT: <emphasis>IN PROSPETTIVA</emphasis> Differenti formati di pacchetti sorgenti

en: <primary>source package</primary><secondary>format</secondary>
it-IT: <primary>pacchetto sorgente</primary><secondary>formato</secondary>

en: Originally there was only one source package format. This is the <literal>1.0</literal> format, which associates an <filename>.orig.tar.gz</filename> archive to a <filename>.diff.gz</filename> “debianization” patch (there is also a variant, consisting of a single <filename>.tar.gz</filename> archive, which is automatically used if no <filename>.orig.tar.gz</filename> is available).
it-IT: Inizialmente c'era un solo formato per i pacchetti sorgenti. È il formato <literal>1.0</literal> che associa un archivio <filename>.orig.tar.gz</filename> a una patch <filename>.diff.gz</filename> di "debianizzazione" (c'è anche una variante che consiste di un singolo archivio <filename>.tar.gz</filename> che è usato automaticamente se non c'è alcun <filename>.orig.tar.gz</filename> disponibile).

en: Since Debian 6 <emphasis role="distribution">Squeeze</emphasis>, Debian developers have the option to use new formats that correct many problems of the historical format. Format <literal>3.0 (quilt)</literal> can combine multiple upstream archives in the same source package: in addition to the usual <filename>.orig.tar.gz</filename>, supplementary <filename>.orig-<replaceable>component</replaceable>.tar.gz</filename> archives can be included. This is useful with software that is distributed in several upstream components but for which a single source package is desired. These archives can also be compressed with <command>xz</command> rather than <command>gzip</command>, which saves disk space and network resources. Finally, the monolithic patch, <filename>.diff.gz</filename> is replaced by a <filename>.debian.tar.xz</filename> archive containing the compiling instructions and a set of upstream patches contributed by the package maintainer. These last are recorded in a format compatible with <command>quilt</command> — a tool that facilitates the management of a series of patches.
it-IT: A partire da Debian 6 <emphasis role="distribution">Squeeze</emphasis>, gli sviluppatori Debian hanno l'opzione di usare dei nuovi formati che correggono molti problemi del formato storico. Il formato <literal>3.0 (quilt)</literal> può unire più archivi a monte in uno stesso pacchetto sorgente: in aggiunta al solito <filename>.orig.tar.gz</filename>, archivi supplementari <filename>.orig-<replaceable>componente</replaceable>.tar.gz</filename>. Ciò è utile con software che è distribuito in diversi componenti a monte ma per il quale si desidera un singolo pacchetto sorgente. Questi archivi possono anche essere compressi con <command>xz</command> piuttosto che con <command>gzip</command>), il che risparmia spazio su disco e risorse di rete. Infine, la patch monolitica, <filename>.diff.gz</filename>, è stata sostituita dall'archivio <filename>.debian.tar.xz</filename> che contiene le istruzioni di compilazione e un insieme di patch a monte dal manutentore del pacchetto. Queste ultime sono registrate in un formato compatibile con <command>quilt</command> — uno strumento che facilita la gestione di una serie di patch.

en: The <filename>.orig.tar.gz</filename> file is an archive containing the source code as provided by the original developer. Debian package maintainers are asked to not modify this archive in order to be able to easily check the origin and integrity of the file (by simple comparison with a checksum) and to respect the wishes of some authors.
it-IT: Il <filename>.orig.tar.gz</filename> è un archivio che contiene il codice sorgente del programma come fornito dallo sviluppatore originale. Ai manutentori dei pacchetti Debian viene chiesto di non modificare questo archivio in modo da poter facilmente verificare la fonte e l'integrità del file (con un semplice confronto con una somma di controllo) e per rispettare i desideri di alcuni autori.

en: <emphasis>TOOL</emphasis> Decompressing a source package
it-IT: <emphasis>STRUMENTO</emphasis> Decomprimere un pacchetto sorgente

en: <primary>decompressing, source package</primary>
it-IT: <primary>sorgente (pacchetto)</primary>

en: <primary>uncompressing, source package</primary>
it-IT: <primary>sorgente (pacchetto)</primary>

en: <primary>unpacking</primary><secondary>source package</secondary>
it-IT: <primary>pacchetto</primary><secondary>pacchetto sorgente</secondary>

en: <primary>source package</primary><secondary>unpacking</secondary>
it-IT: <primary>pacchetto sorgente</primary><secondary>spacchettamento</secondary>

en: If you have a source package, you can use the <command>dpkg-source</command> command (from the <emphasis role="pkg">dpkg-dev</emphasis> package) to decompress it:
it-IT: Avendo un pacchetto sorgente, si può usare il comando <command>dpkg-source</command> (dal pacchetto <emphasis role="pkg">dpkg-dev</emphasis>) per decomprimerlo:

en: You can also use <command>apt</command> to download a source package and unpack it right away. It requires that the appropriate <literal>deb-src</literal> lines be present in the <filename>/etc/apt/sources.list</filename> file, however (for further details, see <xref linkend="sect.apt-sources.list" />). These are used to list the “sources” of source packages (meaning the servers on which a group of source packages are hosted).
it-IT: Si può anche usare <command>apt</command> per scaricare un pacchetto sorgente e scompattarlo immediatamente. È richiesto che le appropriate linee <literal>deb-src</literal> siano presenti nel file <filename>/etc/apt/sources.list</filename> (per ulteriori dettagli, vedere la <xref linkend="sect.apt-sources.list" />). Esse sono usate per elencare le "fonti" di un pacchetto sorgente (intendendo i server sui quali è ospitato un gruppo di pacchetti sorgente).

en: Usage within Debian
it-IT: Uso con Debian

en: <emphasis>GOING FURTHER</emphasis> Source only maintainer uploads
it-IT: <emphasis>APPROFONDIMENTI</emphasis> Caricamento dei sorgenti dei manutentori

en: Manipulating Packages with <command>dpkg</command>
it-IT: Manipolazione dei pacchetti con <command>dpkg</command>

en: <command>dpkg</command> is the base command for handling Debian packages on the system. If you have <filename>.deb</filename> packages, it is <command>dpkg</command> that allows installation or analysis of their contents. But this program only has a partial view of the Debian universe: it knows what is installed on the system, and whatever it is given on the command line, but knows nothing of the other available packages. As such, it will fail if a dependency is not met. Tools such as <command>apt</command> and <command>aptitude</command>, on the contrary, will create a list of dependencies to install everything as automatically as possible.
it-IT: <command>dpkg</command> è il comando di base per gestire i pacchetti Debian sul sistema. Se si hanno dei pacchetti <filename>.deb</filename>, è <command>dpkg</command> che permette l'installazione o l'analisi del loro contenuto. Ma questo programma ha solo una visione parziale dell'universo Debian: conosce cosa è installato sul sistema e ciò che è dato sulla riga di comando, ma non conosce nulla degli altri pacchetti disponibili. Perciò, fallirà se una dipendenza non è soddisfatta. Strumenti come <command>apt</command> e <command>aptitude</command>, al contrario, creano un elenco di dipendenze da installare il più automaticamente possibile.

en: <emphasis>NOTE</emphasis> <command>dpkg</command> or <command>apt</command>?
it-IT: <emphasis>NOTA</emphasis> <command>dpkg</command> o <command>apt-get</command>?

en: <command>dpkg</command> should be seen as a system tool (backend), and <command>apt</command> as a tool closer to the user, which overcomes the limitations of the former. These tools work together, each one with its particularities, suited to specific tasks.
it-IT: <command>dpkg</command> dovrebbe esere visto come uno strumento di sistema (backend) e <command>apt-get</command> come uno strumento più vicino all'utente, che supera le precedenti limitazioni. Questi strumenti lavorano insieme, ognuno con le proprie peculiarità, adatte a compiti specifici.

en: Installing Packages
it-IT: Installazione dei pacchetti

en: <primary>installation</primary><secondary>package installation</secondary>
it-IT: <primary>installazione</primary><secondary>di pacchetti</secondary>

en: <command>dpkg</command> is, above all, the tool for installing an already available Debian package (because it does not download anything). To do this, we use its <literal>-i</literal> or <literal>--install</literal> option.
it-IT: <command>dpkg</command> è, soprattutto, uno strumento per installare un pacchetto Debian già disponibile (perché non scarica niente). Per fare ciò, si usa la sua opzione <literal>-i</literal> oppure <literal>--install</literal>.

en: Installation of a package with <command>dpkg</command>
it-IT: Installazione di un pacchetto con <command>dpkg</command>

en: We can see the different steps performed by <command>dpkg</command>; we know, thus, at what point any error may have occurred. The installation can also be effected in two stages: first unpacking, then configuration. <command>apt</command> takes advantage of this, limiting the number of calls to <command>dpkg</command> (since each call is costly, due to loading of the database in memory, especially the list of already installed files).
it-IT: Si possono vedere i differenti passi eseguiti da <command>dpkg</command>; sappiamo, perciò, a quale punto si è verificato un errore. L'installazione può anche essere effettuata in due stadi: prima lo spacchettamento, poi la configurazione. <command>apt</command> si avvantaggia di ciò, limitando il numero di chiamate a <command>dpkg</command> (dal momento che ogni chiamata è onerosa a causa del caricamento del database in memoria, specialmente l'elenco dei file già installati).

en: Separate unpacking and configuration
it-IT: Spacchettamento e configurazione separati

en: <primary>package</primary><secondary>unpacking</secondary>
it-IT: <primary>pacchetto</primary><secondary>spacchettamento</secondary>

en: Sometimes <command>dpkg</command> will fail to install a package and return an error; if the user orders it to ignore this, it will only issue a warning; it is for this reason that we have the different <literal>--force-*</literal> options. The <command>dpkg --force-help</command> command, or documentation of this command, will give a complete list of these options. The most frequent error, which you are bound to encounter sooner or later, is a file collision. When a package contains a file that is already installed by another package, <command>dpkg</command> will refuse to install it. The following messages will then appear:
it-IT: Talvolta <command>dpkg</command> non riuscirà a installare un pacchetto e restituirà un errore; se l'utente ordina di ignorarlo, verrà emesso soltanto un avvertimento; è per questo motivo che esistono le diverse opzioni <literal>--force-*</literal>. Il comando <command>dpkg --force-help</command>, o la documentazione di questo comando, dà un elenco completo di queste opzioni. L'errore più frequente, che prima o poi si incontrerà, è una collisione tra file. Quando un pacchetto contiene un file che è già installato da un altro pacchetto, <command>dpkg</command> si rifiuterà di installarlo. Il seguente messaggio apparirà:

en: 
    <computeroutput>Unpacking libgdm (from .../libgdm_3.8.3-2_amd64.deb) ...
    dpkg: error processing /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack):
     trying to overwrite '/usr/bin/gdmflexiserver', which is also in package gdm3 3.4.1-9</computeroutput>
it-IT: 
    <computeroutput>Unpacking libisc52 (from .../libisc52_1%3a9.6.ESV.R1+dfsg-0+lenny2_amd64.deb) ...
    dpkg : error processing /var/cache/apt/archives/libisc52_1%3a9.6.ESV.R1+dfsg-0+lenny2_amd64.deb (--unpack) :
     trying to overwrite "/usr/lib/libisc.so.50", which is also in package libisc50 1:9.6.1.dfsg.P1-3</computeroutput>

en: In this case, if you think that replacing this file is not a significant risk to the stability of your system (which is usually the case), you can use the option <literal>--force-overwrite</literal>, which tells <command>dpkg</command> to ignore this error and overwrite the file.
it-IT: In questo caso, se si pensa che sostituire questo file non sia un rischio significativo per la stabilità del sistema (e solitamente è così), si può usare l'opzione <literal>--force-overwrite</literal>, che dice a <command>dpkg</command> di ignorare questo errore e di sovrascrivere il file.

en: <emphasis>CAUTION</emphasis> Effective use of <literal>--force-*</literal>
it-IT: <emphasis>ATTENZIONE</emphasis> Uso efficace di <literal>--force-*</literal>

en: <primary>broken dependency</primary>
it-IT: <primary>dipendenza non soddisfatta</primary>

en: If you are not careful, the use of an option <literal>--force-*</literal> can lead to a system where the APT family of commands will refuse to function. In effect, some of these options allow installation of a package when a dependency is not met, or when there is a conflict. The result is an inconsistent system from the point of view of dependencies, and the APT commands will refuse to execute any action except those that will bring the system back to a consistent state (this often consists of installing the missing dependency or removing a problematic package). This often results in a message like this one, obtained after installing a new version of <emphasis role="pkg">rdesktop</emphasis> while ignoring its dependency on a newer version of the <emphasis role="pkg">libc6</emphasis>:
it-IT: Se non si presta attenzione, l'uso di un'opzione <literal>--force-*</literal> può condurre a un sistema in cui la famiglia di comandi APT si rifiuterà di funzionare. Infatti, alcune di queste opzioni permettono l'installazione di un pacchetto quando una dipendenza non è soddisfatta o quando c'è un conflitto. Il risultato è un sistema non coerente dal punto di vista delle dipendenze e i comandi APT si rifiuteranno di eseguire qualsiasi azione a meno che l'azione non permetta di tornare a uno stato coerente (questo spesso consiste nell'installazione della dipendenza mancante o nella rimozione di un pacchetto problematico). Questo spesso risulta in un messaggio come il seguente, ottenuto dopo l'installazione di una nuova versione di <emphasis role="pkg">rdesktop</emphasis> ignorando la sua dipendenza da una nuova versione di <emphasis role="pkg">libc6</emphasis>:

en: A courageous administrator who is certain of the correctness of their analysis may choose to ignore a dependency or conflict and use the corresponding <literal>--force-*</literal> option. In this case, if they want to be able to continue to use <command>apt</command> or <command>aptitude</command>, they must edit <filename>/var/lib/dpkg/status</filename> to delete/modify the dependency, or conflict, that they chose to override.
it-IT: Un amministratore coraggioso che sia certo della correttezza della propria analisi può scegliere di ignorare una dipendenza o un conflitto e usare la corrispondente opzione <literal>--force-*</literal>. In questo caso, se si vuole continuare a usare <command>apt-get</command> o <command>aptitude</command>, bisogna modificare <filename>/var/lib/dpkg/status</filename> per eliminare o modificare la dipendenza, o il conflitto, che si è scelto di scavalcare.

en: This manipulation is an ugly hack, and should never be used, except in the most extreme case of necessity. Quite frequently, a more fitting solution is to recompile the package that is causing the problem (see <xref linkend="sect.rebuilding-package" />) or use a new version (potentially corrected) from a repository such as the <literal>stable-backports</literal> one (see <xref linkend="sect.apt-sources.list.stable.backports" />).
it-IT: Questa manipolazione è uno "sporco trucco" e non dovrebbe essere mai usato, eccetto in caso di estrema necessità. Molto spesso, una soluzione più adatta è quella di ricompilare il pacchetto che sta causando il problema (consultare la <xref linkend="sect.rebuilding-package" />) o usare una nuova versione (potenzialmente corretta) da un sito come <literal>backports.debian.org</literal> (vedere <xref linkend="sect.apt-sources.list.stable.backports" />).

en: Invoking <command>dpkg</command> with the <literal>-r</literal> or <literal>--remove</literal> option, followed by the name of a package, removes that package. This removal is, however, not complete: all of the configuration files, maintainer scripts, log files (system logs) and other user data handled by the package remain. That way disabling the program is easily done by uninstalling it, and it is still possible to quickly reinstall it with the same configuration. To completely remove everything associated with a package, use the <literal>-P</literal> or <literal>--purge</literal> option, followed by the package name.
it-IT: Invocare <command>dpkg</command> con l'opzione <literal>-r</literal> o <literal>--remove</literal>, seguita dal nome del pacchetto, rimuove tale pacchetto. Questa rimozione, comunque, non è completa: rimangono tutti i file di configurazione, gli script del manutentore, i file di log (log di sistema) e altri dati dell'utente gestiti dal pacchetto. La ragione della loro conservazione è di disabilitare il programma disinstallandolo, preservando allo stesso tempo l'opzione di reinstallarlo velocemente con la stessa configurazione. Per rimuovere completamente ogni cosa associata ad un pacchetto, usare l'opzione <literal>-P</literal> o <literal>--purge</literal> seguita dal nome del pacchetto.

en: Removal and purge of the <emphasis role="pkg">debian-cd</emphasis> package
it-IT: Rimozione ed eliminazione completa del pacchetto <emphasis role="pkg">debian-cd</emphasis>

en: Querying <command>dpkg</command>'s Database and Inspecting <filename>.deb</filename> Files
it-IT: Interrogazione del Database di <command>dpkg</command> ed Ispezione dei File <filename>.deb</filename>

en: <primary>package</primary><secondary>status</secondary>
it-IT: <primary>pacchetto</primary><secondary>stato</secondary>

en: <primary>package</primary><secondary>file list</secondary>
it-IT: <primary>pacchetto</primary><secondary>elenco file</secondary>

en: <primary>package</primary><secondary>content inspection</secondary>
it-IT: <primary>pacchetto</primary><secondary>ispezione del contenuto</secondary>

en: <emphasis>BACK TO BASICS</emphasis> Option syntax
it-IT: <emphasis>FONDAMENTALI</emphasis> Sintassi delle opzioni

en: Most options are available in a “long” version (one or more relevant words, preceded by a double dash) and a “short” version (a single letter, often the initial of one word from the long version, and preceded by a single dash). This convention is so common that it is a POSIX standard.
it-IT: La maggior parte delle opzioni è disponibile nella versione "lunga" (una o più parole precedute da due trattini) o nella versione "corta" (una singola lettera, spesso l'iniziale di una parola della versione lunga, preceduta da un singolo trattino). Questa convenzione è così comune che è uno standard POSIX.

en: <emphasis>CAUTION</emphasis> <command>dpkg --search</command> and merged <filename>/usr</filename>
it-IT: <emphasis>ATTENZIONE</emphasis> <command>dpkg --search</command> e l'accorpamento di <filename>/usr</filename>

en: <primary>merged <filename>/usr</filename></primary>
it-IT: <primary>unificazione di <filename>/usr</filename></primary>

en: For <ulink url="https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/">various reasons</ulink>, Debian now installs by default a few top-level directories as symlinks to their counterparts below <filename>/usr</filename>. For instance, <filename>/bin</filename>, <filename>/sbin</filename> and <filename>/lib</filename> are now symlinks to, respectively, <filename>/usr/bin</filename>, <filename>/usr/sbin</filename> and <filename>/usr/lib</filename>.
it-IT: Per <ulink url="https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/">varie ragioni</ulink>, Debian ora installa di default alcune directory di primo livello come collegamenti simbolici alle loro controparti sotto <filename>/usr</filename>. Per esempio, <filename>/bin</filename>, <filename>/sbin</filename> e <filename>/lib</filename> sono ora symlink a, rispettivamente, <filename>/usr/bin</filename>, <filename>/usr/sbin</filename> e <filename>/usr/lib</filename>.

en: While this does provide desirable benefits, it can also be a source of confusion. For example, when you query <command>dpkg</command> which package is owning a given file, it will only be able to answer when you ask for its original path:
it-IT: Sebbene ciò fornisca degli innegabili vantaggi, può anche essere fonte di confusione. Per esempio, quando si interroga <command>dpkg</command> su quale pacchetto possiede un dato file, esso sarà in grado di rispondere solo quando si fornisce il suo percorso originale:

en: Various queries with <command>dpkg</command>
it-IT: Varie richieste con <command>dpkg</command>

en: <emphasis>GOING FURTHER</emphasis> Comparison of versions
it-IT: <emphasis>APPROFONDIMENTI</emphasis> Confronto di versioni

en: <primary>version, comparison</primary>
it-IT: <primary>versione, confronto</primary>

en: <primary>comparison of versions</primary>
it-IT: <primary>confronto di versioni</primary>

en: <primary>package</primary><secondary>version, comparison</secondary>
it-IT: <primary>pacchetto</primary><secondary>versione, comparazione</secondary>

en: Since <command>dpkg</command> is the program for handling Debian packages, it also provides the reference implementation of the logic of comparing version numbers. This is why it has a <literal>--compare-versions</literal> option, usable by external programs (especially configuration scripts executed by <command>dpkg</command> itself). This option requires three parameters: a version number, a comparison operator, and a second version number. The different possible operators are <literal>lt</literal> (strictly less than), <literal>le</literal> (less than or equal to), <literal>eq</literal> (equal), <literal>ne</literal> (not equal), <literal>ge</literal> (greater than or equal to), and <literal>gt</literal> (strictly greater than). If the comparison is correct, <command>dpkg</command> returns 0 (success); if not, it gives a non-zero return value (indicating failure).
it-IT: Dal momento che <command>dpkg</command> è il programma per gestire pacchetti Debian, fornisce anche l'implementazione tipo della logica di confronto dei numeri di versione. Questo è il motivo per cui ha un'opzione <literal>--compare-versions</literal> utilizzabile da programmi esterni (specialmente gli script di configurazione eseguiti dallo stesso <command>dpkg</command>). Questa opzione richiede tre parametri: un numero di versione, un operatore di confronto e un secondo numero di versione. I diversi operatori possibili sono <literal>lt</literal> (strettamente minore), <literal>le</literal> (minore o uguale), <literal>eq</literal> (uguale), <literal>ne</literal> (diverso), <literal>ge</literal> (maggiore o uguale) e <literal>gt</literal> (strettamente maggiore). Se il confronto è corretto, <command>dpkg</command> restituisce il codice di ritorno 0 (successo), altrimenti restituisce un valore di ritorno diverso da zero (che indica fallimento).

en: Note the unexpected failure of the last comparison: for <command>dpkg</command>, <literal>pre</literal>, usually denoting a pre-release, has no particular meaning, and this program compares the alphabetic characters in the same way as the numbers (a &lt; b &lt; c ...), in alphabetical order. This is why it considers “<literal>0pre3</literal>” to be greater than “<literal>0</literal>”. When we want a package's version number to indicate that it is a pre-release, we use the tilde character, “<literal>~</literal>”:
it-IT: Si noti il fallimento inatteso dell'ultimo confronto: per <command>dpkg</command>, <literal>pre</literal>, che normalmente indica un pre-rilascio, non ha alcun particolare significato e questo programma confronta i caratteri alfabetici nello stesso modo dei numeri (a &lt;b &lt;c ...) in ordine alfabetico. Questo è il motivo per cui "<literal>0pre3</literal>" è considerato maggiore di "<literal>0</literal>". Quando si vuole che un numero di versione di un pacchetto indichi che si tratta di un pre-rilascio, si deve usare il carattere tilde "<literal>~</literal>":

en: <command>dpkg</command>'s Log File
it-IT: File di registro di <command>dpkg</command>

en: <command>dpkg</command> keeps a log of all of its actions in <filename>/var/log/dpkg.log</filename>. This log is extremely verbose, since it details every one of the stages through which packages handled by <command>dpkg</command> go. In addition to offering a way to track dpkg's behavior, it helps, above all, to keep a history of the development of the system: one can find the exact moment when each package has been installed or updated, and this information can be extremely useful in understanding a recent change in behavior. Additionally, all versions being recorded, it is easy to cross-check the information with the <filename>changelog.Debian.gz</filename> for packages in question, or even with online bug reports.
it-IT: Una funzionalità introdotta recentemente in <command>dpkg</command> è che mantiene un registro di tutte le proprie azioni in <filename>/var/log/dpkg.log</filename>. Questo registro è estremamente prolisso, dal momento che contiene dettagli di ciascun stato attraverso cui passano i pacchetti gestiti da <command>dpkg</command>. Oltre a offrire un modo per tenere traccia del comportamento di dpkg, ciò aiuta, soprattutto, a mantenere una cronologia dello sviluppo del sistema: si può trovare il momento esatto in cui ciascun pacchetto è stato installato o aggiornato e queste informazioni possono essere estremamente utili nel comprendere un recente cambiamento di comportamento. Inoltre, siccome tutte le versioni sono registrate, è facile incrociare queste informazioni con il <filename>changelog.Debian.gz</filename> dei pacchetti in questione o anche con le segnalazioni di bug online.

en: Multi-Arch Support
it-IT: Supporto Multi-Arch

en: <primary>Multi-Arch</primary>
it-IT: <primary>APT</primary>

en: <primary>architecture</primary><secondary>multi-arch support</secondary>
it-IT: <primary>pacchetto</primary><secondary>conflitto</secondary>

en: All Debian packages have an <literal>Architecture</literal> field in their control information. This field can contain either “<literal>all</literal>” (for packages that are architecture independent) or the name of the architecture that it targets (like “amd64”, “armhf”, …). In the latter case, by default, <command>dpkg</command> will only accept to install the package if its architecture matches the host's architecture as returned by <command>dpkg --print-architecture</command>.
it-IT: Tutti i pacchetti Debian hanno un campo <literal>Architecture</literal> nelle loro informazioni di controllo. Questo campo può contenere tutti “<literal>all</literal>” (per i pacchetti indipendenti dalle architetture) oppure il nome dell'architettura per la quale è sviluppato il pacchetto (come “amd64”, “armhf”, …). In quest'ultimo caso, per impostazione predefinita, <command>dpkg</command> accetterà di installare il pacchetto solo se la sua architettura corrisponde a quella dell'host come restituito da <command>dpkg --print-architecture</command>.

en: This restriction ensures that users do not end up with binaries compiled for an incorrect architecture. Everything would be perfect except that (some) computers can run binaries for multiple architectures, either natively (an “amd64“ system can run “i386” binaries) or through emulators.
it-IT: Questa restrizione assicura che gli utenti non finiscano con binari compilati per un'architettura sbagliata. Tutto sarebbe perfetto, se non fosse che (alcuni) i computer possono eseguire binari per architetture multiple, sia nativamente (un sistema "amd64" può eseguire binari "i386") che attraverso emulatori.

en: Enabling Multi-Arch
it-IT: Abilitazione Multi-Arch

en: <command>dpkg</command>'s multi-arch support allows users to define “foreign architectures” that can be installed on the current system. This is simply done with <command>dpkg --add-architecture</command> like in the example below. There is a corresponding <command>dpkg --remove-architecture</command> to drop support of a foreign architecture, but it can only be used when no packages of this architecture remain.
it-IT: Il supporto multi-arch di <command>dpkg</command> consente agli utenti di definire le "architetture esterne" che possono essere installate sul sistema corrente. Questo può essere fatto semplicemnete con <command>dpkg --add-architecture</command> come nell'esempio qui sotto. C'è un comando corrispondente per rimuovere il supporto ad un'architettura esterna che è <command>dpkg --remove-architecture</command>, ma può essere utilizzato solo quando non rimangono pacchetti di questa archietttura.

en: <emphasis>NOTE</emphasis> APT's multi-arch support
it-IT: <emphasis>SUGGERIMENTO</emphasis> Diagrammi di stato

en: APT will automatically detect when dpkg has been configured to support foreign architectures and will start downloading the corresponding <filename>Packages</filename> files during its update process.
it-IT: APT rileverà automaticamente quando dpkg è stato configurato per supportare architetture differenti ed inizierà a scaricare i corrispondenti file dei <filename>Pacchetti</filename> durante il suo processo di aggiornamento.

en: Foreign packages can then be installed with <command>apt install <replaceable>package</replaceable>:<replaceable>architecture</replaceable></command>.
it-IT: I pacchetti esterni possono essere installati con <command>apt install <replaceable>pacchetto</replaceable>:<replaceable>architettura</replaceable></command>.

en: <emphasis>IN PRACTICE</emphasis> Using proprietary i386 binaries on amd64
it-IT: <emphasis>IN PRATICA</emphasis> Uso dei binari proprietari i386 su amd64

en: There are multiple use cases for multi-arch, but the most popular ones are the possibility to execute (sometimes proprietary) 32 bit binaries (i386) on 64 bit systems (amd64), and the possibility to cross-compile software for a platform or an architecture different from the host one.
it-IT: Ci sono diversi casi di utilizzo di multi-arch, ma il più popolare è la possibilità di eseguire binari (talvolta proprietari) a 32 bit (i386) su sistemi a 64 bit (amd64), e la possibilità di cross-compilare software per una piattaforma o un'architettura diversa da quella ospitante.

en: Multi-Arch Related Changes
it-IT: Variazioni Relative a Multi-Arch

en: To make multi-arch actually useful and usable, libraries had to be repackaged and moved to an architecture-specific directory so that multiple copies (targeting different architectures) can be installed alongside. Such updated packages contain the “<literal>Multi-Arch: same</literal>” header field to tell the packaging system that the various architectures of the package can be safely co-installed (and that those packages can only satisfy dependencies of packages of the same architecture). The most important libraries have been converted since the introduction of multi-arch in Debian 7 <emphasis role="distribution">Wheezy</emphasis>, but there are many libraries that will likely never be converted unless someone specifically requests it (through a bug report for example).
it-IT: Per rendere multi-arch realmente utile ed utilizzabile, le librerie sono state riassemblate e spostate in una directory specifica per l'architettura in modo che possano essere installate, contemporaneamente, più copie (specifiche per diverse architetture). Tali pacchetti aggiornati contengono il campo header “<literal>Multi-Arch: same</literal>” per dire al sistema dei pacchetti che le varie architetture possono essere installate, insieme, in sicurezza (e che quei pacchetti possono soddisfare in modo sicuro solo le dipendenze dei pacchetti della stessa architettura). Le librerie più importanti sono state convertite dall'introduzione di multi-arch in Debian 7 <emphasis role="distribution">Wheezy</emphasis>, ma ci sono molte librerie che, probabilmente, non saranno mai convertite a meno che qualcuno non lo richieda specificamente (per esempio attraverso una segnalazione di bug).

en: It is worth noting that <literal>Multi-Arch: same</literal> packages must have their names qualified with their architecture to be unambiguously identifiable. They also have the possibility to share files with other instances of the same package; <command>dpkg</command> ensures that all packages have bit-for-bit identical files when they are shared. Last but not least, all instances of a package must have the same version. They must thus be upgraded together.
it-IT: Vale la pena notare che i pacchetti <literal>Multi-Arch: same</literal> devono avere i nomi che identificano le loro architetture per essere identificati senza ambiguità. Essi hanno anche la possibilità di condividere i file con altre istanze dello stesso pacchetto; <command>dpkg</command> assicura che tutti i pacchetti abbiano dei file identici bit-per-bit quando sono condivisi. Infine, tutte le istanze di un pacchetto devono avere la stessa versione. Essi devono quindi essere aggiornati insieme.

en: Multi-Arch support also brings some interesting challenges in the way dependencies are handled. Satisfying a dependency requires either a package marked “<literal>Multi-Arch: foreign</literal>” or a package whose architecture matches the one of the package declaring the dependency (in this dependency resolution process, architecture-independent packages are assumed to be of the same architecture than the host). A dependency can also be weakened to allow any architecture to fulfill it, with the <literal><replaceable>package</replaceable>:any</literal> syntax, but foreign packages can only satisfy such a dependency if they are marked “<literal>Multi-Arch: allowed</literal>”.
it-IT: Il supporto multi-Arch portacon sè anche alcune sfide interessanti nel modo in cui sono gestite le dipendenze. Soddisfare una dipendenza richiede o un pacchetto contrassegnato come “<literal>Multi-Arch: foreign</literal>” o un pacchetto la cui architettura corrisponde a quella del pacchetto del quale dichiara la dipendenza (in questo processo di risoluzione delle dipendenze, i pacchetti architettura-indipendenti si presume che siano della stessa architettura dell'host). Una dipendenza può anche essere indebolita per consentire a qualsiasi architettura di soddisfarla, con la sintassi <literal><replaceable>package</replaceable>:any</literal>, ma i pacchetti esterni sono in grado di soddisfarla solo se sono contrassegnati come “<literal>Multi-Arch: allowed</literal>”.

en: Coexistence with Other Packaging Systems
it-IT: Coesistenza con Altri Sistemi di Pacchetti

en: Debian packages are not the only software packages used in the free software world. The main competitor is the RPM format of the Red Hat Linux distribution and its many derivatives. Red Hat is a very popular, commercial distribution. It is thus common for software provided by third parties to be offered as RPM packages rather than Debian.
it-IT: I pacchetti Debian non son gli unici pacchetti software usati nel monto del software libero. Il concorrente principale è il formato RPM per Red Hat Linux e le sue molte derivate. Red Hat è una distribuzione commerciale molto popolare. È comune che il software fornito da terze parti sia offerto come pacchetti RPM invece che Debian.

en: In this case, you should know that the program <command>rpm</command>, which handles RPM packages, is available as a Debian package, so it is possible to use this package format on Debian. Care should be taken, however, to limit these manipulations to extract the information from a package or to verify its integrity. It is, in truth, unreasonable to use <command>rpm</command> to install an RPM on a Debian system; RPM uses its own database, separate from those of native software (such as <command>dpkg</command>). This is why it is not possible to ensure a stable coexistence of two packaging systems.
it-IT: In questo caso, si deve sapere che il programma <command>rpm</command>, che gestisce pacchetti RPM, è disponibile come pacchetto Debian, così è possibile usare questo formato di pacchetti su Debian. Si dovrebbe fare attenzione, comunque, a limitare queste manipolazioni all'estrazione di informazioni da un pacchetto o alla verifica della sua integrità. In realtà non è ragionevole usare <command>rpm</command> per installare un RPM su un sistema Debian; RPM usa un proprio database, separato da quello del software nativo (come <command>dpkg</command>). Questo è il motivo per cui non è possibile assicurare una coesistenza stabile dei due sistemi di pacchetti.

en: On the other hand, the <emphasis role="pkg">alien</emphasis> utility can convert RPM packages into Debian packages, and vice versa.
it-IT: D'altra parte, l'utilità <emphasis role="pkg">alien</emphasis> può convertire pacchetti RPM in pacchetti Debian e viceversa.

en: <emphasis>COMMUNITY</emphasis> Encouraging the adoption of <filename>.deb</filename>
it-IT: <emphasis>COMUNITÀ</emphasis> Incoraggiare l'adozione di <filename>.deb</filename>

en: You will find that this process is extremely simple. You must know, however, that the package generated does not have any dependency information, since the dependencies in the two packaging formats don't have systematic correspondence. The administrator must thus manually ensure that the converted package will function correctly, and this is why Debian packages thus generated should be avoided as much as possible. Fortunately, Debian has the largest collection of software packages of all distributions, and it is likely that whatever you seek is already in there.
it-IT: Questo procedimento è estremamente semplice. Si deve sapere, però, che il pacchetto generato non ha alcuna informazione sulle dipendenze, dal momento che le dipendenze nei due formati di pacchetti non hanno una corrispondenza sistematica. L'amministratore, perciò, deve assicurare manualmente che il pacchetto convertito funzioni correttamente e questo è il motivo per cui i pacchetti Debian generati in questo modo dovrebbe essere evitati il più possibile. Fortunatamente, Debian ha la più grande raccolta di pacchetti software rispetto a tutte le distribuzioni ed è probabile che qualunque cosa si cerchi ci sia già.

en: Looking at the man page for the <command>alien</command> command, you will also note that this program handles other packaging formats, especially the one used by the Slackware distribution (it is made of a simple <filename>tar.gz</filename> archive).
it-IT: Guardando la pagina di manuale per il comando <command>alien</command>, si noterà che questo programma gestisce anche altri formati di pacchetti, specificamente quello della distribuzione Slackware (è composto da un semplice archivio <filename>tar.gz</filename>).

en: The stability of the software deployed using the <command>dpkg</command> tool contributes to Debian's fame. The APT suite of tools, described in the following chapter, preserves this advantage, while relieving the administrator from managing the status of packages, a necessary but difficult task.
it-IT: La stabilità del software installato usando lo strumento <command>dpkg</command> contribuisce alla fama di Debian. La suite di strumenti APT, descritta nel capitolo seguente, mantiene questo vantaggio, sollevando l'amministratore dal gestire lo stato dei pacchetti, un compito necessario, ma difficile.
