NOME¶
deb-control - Formato del file principale di controllo dei pacchetti Debian
SINTASSI¶
control
DESCRIZIONE¶
Ogni pacchetto Debian contiene il file principale `control', che contiene un
certo numero di campi. Ogni campo inizia con una etichetta, come:
Package o
Version (insensibile alle maiuscole/minuscole),
seguita da ':', e il corpo del campo. I campi sono delimitati solo dalle
etichette del campo. In altre parole, il testo del campo puo` essere lungo
diverse righe, ma gli strumenti di installazione generalmente uniranno le
righe quando verra` elaborato il corpo del campo (eccetto nel caso del campo
Description, vedere di seguito).
CAMPI RICHIESTI¶
- Package: <nome pacchetto>
- Il valore di questo campo determina il nome del pacchetto,
ed è usato dalla maggior parte degli strumenti di installazione per
generare i nomi dei file.
- Version: <stringa della versione>
- Tipicamente, questo è il numero della versione
originale del pacchetto in qualsiasi forma usata dall'autore del
programma. Puo` includere anche un numero di revisione Debian (per
pacchetti non nativi). Se sono fornite entrambe, sia la versione che la
revisione, queste sono separate da un trattino, `-'. Per questa ragione,
la versione originale non puo` avere un trattino nel suo numero di
versione.
- Maintainer: <nome completo email>
- Dovrebbe essere nel formato `Joe Bloggs
<jbloggs@foo.com>', ed è tipicamente la persona che ha creato
il pacchetto, piuttosto che l'autore del software che è stato
impacchettato.
- Description: <breve descrizione>
- <lunga descrizione>
Il formato per la descrizione del pacchetto è un breve riassunto nella
prima riga (dopo il campo "Description"). Le righe seguenti
possono essere usate come una lunga, e piu` dettagliata descrizione. Ogni
riga della descrizione lunga deve essere preceduta da uno spazio, e le
righe bianche, nella descrizione lunga, devono contenere un singolo '.'
che segue lo spazio precedente.
CAMPI OPZIONALI¶
- Section: <sezione>
- Questo è un campo generale che assegna al pacchetto
una categoria basata sul software che esso installa. Alcune sezioni comuni
sono: `utils', `net', `mail', `text', `x11', etc.
- Priority: <priorita`>
- Imposta l'importanza di questo pacchetto in relazione
all'intero sistema. Priorita` comuni sono: `required', `standard',
`optional', `extra', etc.
In Debian, i campi
Section e
Priority hanno un insieme definito di
valori accettabili in base al Manuale della Policy Debian. Essi sono usati per
decidere come i pacchetti sono disposti nell'archivio. Una lista di questi
valori puo` essere ottenuta dall'ultima versione del pacchetto
debian-policy.
- Essential: <yes|no>
- Questo campo è usualmente necessario solo quando la
risposta è `si`'. Esso denota un pacchetto che è richiesto per
il corretto funzionamento del sistema. Dpkg o qualsiasi altro strumento di
installazione non permettera` che un pacchetto Essential sia
rimosso (almeno non senza usare una delle opzioni di forzatura).
- Architecture: <arch|all>
- L'architettura specifica per quale tipo di hardware questo
pacchetto è stato compilato. Architetture comuni sono: `i386',
`m68k', `sparc', `alpha', `powerpc', etc. Notare che l'opzione all
è pensata per pacchetti che sono indipendenti dall'architettura.
Alcuni esempi di questi pacchetti sono rappresentati da script shell o
Perl, o documentazione.
- Source: <nome sorgente>
- Il nome del pacchetto sorgente da cui deriva questo
pacchetto binario, se è differente rispetto al nome del pacchetto
stesso.
- Depends: <lista di pacchetti>
- Lista dei pacchetti che sono richiesti da questo pacchetto
per fornire una quantita` non banale di funzionalita`. Il software di
manutenzione dei pacchetti non permettera` l'installazione di un pacchetto
senza installare anche quelli elencati nel suo campo Depends ,
almeno non senza usare le opzioni di forzatura, ed eseguira` gli script
postinst dei pacchetti elencati nei campi Depends: prima di quelli dei
pacchetti che dipendono da essi, ed esegue prima gli script prerm.
- Pre-Depends: <lista di pacchetti>
- Lista dei pacchetti che devono essere installati e
configurati prima che questo pacchetto possa essere installato. È
usato generalmente nel caso in cui questo pacchetto richieda un altro
pacchetto per l'esecuzione dei suoi script preinst.
- Recommends: <lista di pacchetti>
- Elenca i pacchetti che dovrebbero trovarsi insieme a questo
pacchetto in tutte le installazioni usuali. Il software di manutenzione
dei pacchetti avvisa l'utente se installa un pacchetto senza quelli
elencati nel suo campo Recommends.
- Suggests: <pacchetto lista>
- Elenca pacchetti che sono correlati a questo e che forse
possono accrescere la sua utilita`, ma senza i quali l'installazione di
questo pacchetto è perfettamente ragionevole.
La sintassi dei campi
Depends, Pre-Depends, Recommends e
Suggests è una lista di gruppi di pacchetti alternativi. Ogni
gruppo è una lista di pacchetti separati da una barra verticale (o
`pipe'), `|'. I gruppi sono separati da virgole. Le virgole devono essere
lette come `AND', e le pipe come `OR', con le pipe aventi precedenza. Ogni
elemento è un nome di un pacchetto seguito opzionalmente da un numero di
versione specificato tra parentesi.
Un numero di versione puo` iniziare con un `>>', in tal caso ogni versione
successiva andra` bene, e può specificare o omettere il numero di
revisione di impacchettamento Debian (separato da un trattino). Relazioni tra
versioni accettate sono ">>" per maggiore di,
"<<" per minore di, ">=" per maggiore o eguale a,
"<=" per minore o eguale a, e "=" per eguale a.
- Conflicts: <lista di pacchetti>
- Elenca i pacchetti che vanno in conflitto con questo
pacchetto, per esempio quando contengono file aventi lo stesso nome. Il
software di manutenzione dei pacchetti non permettera` a pacchetti che
sono in conflitto di essere installati
contemporaneamente. Due pacchetti in conflitto dovrebbero includere ognuno
una riga Conflicts che menziona l'altro pacchetto.
- Replaces: <lista di pacchetti>
- Lista di pacchetti, i cui file questo pacchetto è
autorizzato a sostituire. È usato per permettere al pacchetto di
sovrascrivere i file di un altro pacchetto ed è usato di solito con
il campo Conflicts per forzare la rimozione dell'altro pacchetto,
se questo ha anche gli stessi file del pacchetto in conflitto.
- Provides: <pacchetto lista>
- Questa è una lista di pacchetti virtuali che il
pacchetto stesso fornisce. Solitamente questa lista è usata nel caso
in cui diversi pacchetti forniscano tutti lo stesso servizio. Per esempio,
sendmail e exim possono servire come server di posta, perciò
forniscono un pacchetto comune (`mail-transport-agent') da cui possono
dipendere altri pacchetti. Questo permettera` a sendmail o a exim di
servire come una valida opzione per soddisfare la dipendenza. Ciò
evita per i pacchetti che dipendono da un mail server, la necessità
di conoscere i nomi di tutti questi pacchetti, e di usare il carattere `|'
per separare la lista.
La sintassi di
Conflicts, Replaces e
Provides è una
lista di nomi di pacchetti, separata da virgole (e spazi bianchi opzionali).
Nel campo
Conflicts, la virgola dovrebbe essere letta come `OR'.
Può anche essere fornita una versione opzionale con la stessa sintassi di
quella precendente per i campi
Conflicts e
Replaces.
ESEMPIO¶
Package: grep
Essential: yes
Priority: required
Section: base
Maintainer: Wichert Akkerman <wakkerma@debian.org>
Architecture: sparc
Version: 2.4-1
Pre-Depends: libc6 (>= 2.0.105)
Provides: rgrep
Conflicts: rgrep
Description: GNU grep, egrep and fgrep.
The GNU family of grep utilities may be the "fastest grep in the west".
GNU grep is based on a fast lazy-state deterministic matcher (about
twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper
search for a fixed string that eliminates impossible text from being
considered by the full regexp matcher without necessarily having to
look at every character. The result is typically many times faster
than Unix grep or egrep. (Regular expressions containing backreferencing
will run more slowly, however.)
VEDERE ANCHE¶
deb(5),
dpkg(8),
dpkg-deb(1).
AUTORI¶
Raul Miller, Ian Jackson, Ian Murdock. Traduzione ed adattamenti in italiano a
cura di Hugh Hartmann <hhartmann@libero.it>. Revisione a cura di
Beatrice Torracca <beatricet@libero.it>.