dpkg(1) gestore dei pacchetti per Debian

SINTASSI

dpkg [opzione...] azione

ATTENZIONE

Questo manuale è pensato per gli utenti che desiderano conoscere più in dettaglio le opzioni per la riga di comando e gli stati dei pacchetti di dpkg, rispetto alle informazioni date da dpkg --help.

Non dovrebbe essere usato dai manutentori che vogliono capire come dpkg installerà i loro pacchetti. La descrizione di ciò che dpkg fa quando installa e rimuove pacchetti è particolarmente inadeguata.

DESCRIZIONE

dpkg è uno strumento per installare, compilare, rimuovere e gestire pacchetti Debian. L'interfaccia principale e più facile da usare per dpkg è aptitude(1). dpkg in sé è completamente controllato da parametri della riga di comando, che consistono di esattamente una azione e zero o più opzioni. Il parametro azione dice a dpkg cosa fare e le opzioni controllano in qualche modo il comportamento dell'azione.

dpkg può anche essere usato come frontend per dpkg-deb(1) e dpkg-query(1). L'elenco delle azioni supportate può essere trovato nella successiva sezione AZIONI. Se è presente una di tali azioni, dpkg esegue semplicemente dpkg-deb o dpkg-query con i parametri che sono stati specificati, ma attualmente non viene passata alcuna opzione specifica; per usare una di tali opzioni i backend devono essere invocati direttamente.

INFORMAZIONI SUI PACCHETTI

dpkg mantiene alcune informazioni utilizzabili sui pacchetti disponibili. Le informazioni sono divise in tre classi: stati, stati di selezione e contrassegni. Questi valori sono pensati per essere modificati principalmente con dselect.

STATI DEI PACCHETTI

non-installato
Il pacchetto non è installato sul sistema.
file-config
Nel sistema sono presenti solo i file di configurazione del pacchetto.
parzialmente-installato
L'installazione del pacchetto è stata iniziata, ma per qualche ragione non è stata completata.
spacchettato
Il pacchetto è stato spacchettato, ma non configurato.
parzialmente-configurato
Il pacchetto è stato spacchettato e la configurazione è stata iniziata, ma per qualche ragione non è ancora stata completata.
triggers-awaited
Il pacchetto è in attesa che un altro pacchetto elabori i trigger.
triggers-pending
I trigger del pacchetto sono stati avviati
installato
Il pacchetto è stato spacchettato e configurato correttamente.

STATI DI SELEZIONE DEI PACCHETTI

installazione
Il pacchetto è selezionato per l'installazione.
bloccato
dpkg non manipola un pacchetto contrassegnato come bloccato, a meno che non lo si forzi a farlo con l'opzione --force-hold.
disinstallazione
Il pacchetto è selezionato per la disinstallazione (cioè si desiderano rimuovere tutti i file tranne quelli di configurazione).
eliminazione
Il pacchetto è selezionato per essere eliminato (cioè si desidera rimuovere tutto dalle directory di sistema, compresi i file di configurazione).

CONTRASSEGNI DEI PACCHETTI

richiesta-reinstallazione
Un pacchetto contrassegnato come richiesta-reinstallazione è difettoso ed è necessario che sia nuovamente installato. Questi pacchetti non possono essere rimossi, a meno che non si forzi l'operazione con l'opzione --force-remove-reinstreq.

AZIONI

-i, --install file-pacchetto...
Installa il pacchetto. Se viene specificata l'opzione --recursive o -R, file-pacchetto deve essere una directory.

L'installazione consiste dei seguenti passaggi:

1. Estrazione del file di controllo del nuovo pacchetto.

2. Se prima della nuova installazione era già installata un'altra versione dello stesso pacchetto, esecuzione dello script prerm del vecchio pacchetto.

3. Esecuzione dello script preinst, se il pacchetto ne fornisce uno.

4. Spacchettamento dei nuovi file e contemporaneamente esecuzione del backup di quelli vecchi, in modo che possano essere ripristinati se qualcosa va storto.

5. Se prima della nuova installazione era già installata un'altra versione dello stesso pacchetto, esecuzione dello script postrm del vecchio pacchetto. Notare che questo script è eseguito dopo lo script preinst del nuovo pacchetto, perché i nuovi file vengono scritti nello stesso momento in cui i vecchi file vengono rimossi.

6. Configurazione del pacchetto. Per informazioni dettagliate su come venga fatta, vedere --configure.

--unpack file-pacchetto...
Spacchetta il pacchetto, ma non lo configura. Se viene specificata l'opzione --recursive o -R, file-pacchetto deve essere una directory.
--configure pacchetto...|-a|--pending
Configura un pacchetto che è stato spacchettato ma non ancora configurato. Se viene specificata l'opzione -a o --pending invece di pacchetto, vengono configurati tutti i pacchetti spacchettati ma non configurati.

Per riconfigurare un pacchetto che è già stato configurato, usare invece il comando dpkg-reconfigure(8).

La configurazione consiste dei seguenti passaggi:

1. Spacchettamento dei file di configurazione e contemporaneamente esecuzione del backup di quelli vecchi, in modo che possano essere ripristinati se qualcosa va storto.

2. Esecuzione dello script postinst, se il pacchetto ne fornisce uno.

--triggers-only pacchetto...|-a|--pending
Elabora solo i trigger; vengono elaborati tutti i trigger in coda. Se sono specificati dei nomi di pacchetto, vengono elaborati solo i trigger di quei pacchetti, esattamente una volta ciascuno ove necessario. L'uso di questa opzione può lasciare i pacchetti negli stati non corretti triggers-awaited e triggers-pending. Ciò può essere successivamente risolto eseguendo dpkg --configure --pending.
-r, --remove, -P, --purge pacchetto...|-a|--pending
Rimuove un pacchetto installato. -r o --remove rimuove tutto tranne i file di configurazione. Ciò può evitare in futuro di dover riconfigurare il pacchetto se viene installato nuovamente. (I file di configurazione considerati sono quelli elencati nel file di controllo DEBIAN/conffiles). -P o --purge rimuove tutto, inclusi i file di configurazione in conffiles. Se vengono specificate l'opzione -a o --pending invece di un nome di pacchetto, allora vengono rispettivamente rimossi o eliminati tutti i pacchetti spacchettati ma contrassegnati per essere rimossi o eliminati nel file /var/lib/dpkg/status. Notare che dpkg può essere all'oscuro di alcuni file di configurazione perché sono stati creati e gestiti in modo indipendente attraverso gli script di configurazione. In questo caso, dpkg stesso non li rimuoverà, ma lo script postrm del pacchetto (che viene invocato da dpkg), deve farsi carico della loro rimozione al momento dell'eliminazione del pacchetto. Naturalmente ciò è vero solo per i file nelle directory di sistema, non per i file di configurazione scritti dai singoli utenti nelle proprie directory home.

La rimozione di un pacchetto consiste dei seguenti passaggi:

1. Esecuzione dello script prerm

2. Rimozione dei file installati

3. Esecuzione dello script postrm

--update-avail, --merge-avail file-Packages
Aggiornano le informazioni di dpkg e dselect su quali pacchetti sono disponibili. Con l'azione --merge-avail le vecchie informazioni sono combinate con le informazioni nel file-Packages. Con l'azione --update-avail le vecchie informazioni vengono rimpiazzate dalle nuove informazioni nel file-Packages. Il file-Packages distribuito con Debian si chiama semplicemente Packages. dpkg archivia le proprie informazioni sui pacchetti disponibili in /var/lib/dpkg/available.

Un comando più semplice per recuperare e aggiornare in una volta il file available è dselect update. Notare che questo file è per lo più inutile se non si usa dselect ma un frontend basato su APT; APT ha un proprio sistema per tenere traccia dei pacchetti disponibili.

-A, --record-avail file-pacchetto...
Aggiornano le informazioni di dpkg e dselect riguardo a quali pacchetti sono disponibili con le informazioni nel pacchetto file-pacchetto. Se viene specificata l'opzione --recursive o -R, file-pacchetto deve essere una directory.
--forget-old-unavail
È adesso obsoleta e non ha effetto dato che dpkg dimentica automaticamente i pacchetti non installati che non sono disponibili.
--clear-avail
Cancella le informazioni esistenti riguardo a quali pacchetti sono disponibili.

 -C--audit
Cerca i pacchetti che sono stati installati solo parzialmente nel sistema. dpkg suggerisce cosa fare per renderli funzionanti.
--get-selections [modello-nome-pacchetti...]
Crea un elenco di selezioni di pacchetti e lo scrive sullo stdout. Senza un modello non mostra i pacchetti non installati (ad esempio quelli che sono stati in precedenza completamente eliminati).
--set-selections
Imposta le selezioni dei pacchetti usando il file letto dallo stdin; questo file deve essere nel formato «pacchetto stato», dove stato è uno tra install, hold, deinstall o purge. Sono permesse anche le righe bianche e quelle di commento che iniziano con «#».

The available database needs to be up-to-date for this command to be useful, otherwise unknown packages will be ignored with a warning. See the --update-avail and --merge-avail commands for more information.

--clear-selections
Imposta lo stato richiesto per ogni pacchetto non essenziale a «disinstallazione». Questa opzione è pensata per essere usata immediatamente prima di --set-selections, per disinstallare ogni pacchetto che non è nell'elenco fornito con --set-selections.
--yet-to-unpack
Cerca i pacchetti selezionati per l'installazione ma che per una qualche ragione non sono ancora stati installati.
--add-architecture architettura
Aggiunge architettura all'elenco delle architetture per le quali i pacchetti possono essere installati senza dover usare --force-architecture. L'architettura per cui è stato compilato dpkg (cioè l'output di --print-architecture) fa sempre parte dell'elenco.
--remove-architecture architettura
Rimuove architettura dall'elenco delle architetture per le quali i pacchetti possono essere installati senza dover usare --force-architecture. Se l'architettura è attualmente in uso nel database, allora l'operazione verrà rifiutata, a meno che non venga specificata --force-architecture. L'architettura per cui è stato compilato dpkg (cioè l'output di --print-architecture) non può mai essere rimossa dall'elenco.
--print-architecture
Stampa l'architettura dei pacchetti che dpkg installa (ad esempio, «i386»).
--print-foreign-architectures
Stampa un elenco separato da ritorni a capo delle architetture extra per le quali dpkg è configurato per permettere l'installazione dei pacchetti.
--compare-versions ver1 op ver2
Confronta i numeri di versione; op è un operatore binario. dpkg restituisce un valore di successo (zero) se la condizione specificata è soddisfatta, e di insuccesso (valore diverso da zero) in caso contrario. Ci sono due gruppi di operatori, che differiscono per il modo in cui trattano una ver1 o ver2 vuota. Questi operatori trattano una versione vuota come precedente a qualsiasi altra versione: lt le eq ne ge gt; questi altri operatori trattano una versione vuota come successiva a qualsiasi altra versione: lt-nl le-nl ge-nl gt-nl. Questi ultimi operatori sono forniti solamente per compatibilità con la sintassi del file di controllo: < << <= = >= >> >.
-?, --help
Visualizza un breve messaggio di aiuto.
--force-help
Mostra un aiuto sulle opzioni --force-cosa.
-Dh, --debug=help
Mostra un aiuto sulle opzioni di debug.
--version
Mostra informazioni sulla versione di dpkg.
azioni di dpkg-deb
Vedere dpkg-deb(1) per maggiori informazioni sulle seguenti azioni.

-b, --build directory [archivio|directory]
    Crea un pacchetto deb.
-c, --contents archivio
    Elenca il contenuto di un pacchetto deb.
-e, --control nomefile [directory]
    Estrae informazioni di controllo da un pacchetto.
-x, --extract archivio directory
    Estrae i file contenuti nel pacchetto.
-X, --vextract archivio directory
    Estrae e visualizza i file contenuti in un
    pacchetto.
-f, --field  archivio [campo-controllo...]
    Mostra il campo di controllo o i campi di controllo
    di un pacchetto.
--fsys-tarfile archivio
    Mostra il file system del file tar contenuto in un
    pacchetto Debian.
-I, --info archivio [file-controllo...]
    Mostra informazioni su un pacchetto.

azioni per dpkg-query
Vedere dpkg-query(1) per maggiori informazioni sulle seguenti azioni.


-l, --list modello-nome-pacchetto...
    Elenca i pacchetti che corrispondono al modello specificato.
-s, --status nome-pacchetto...
    Restituisce lo stato del pacchetto specificato.
-L, --listfiles nome-pacchetto...
    Elenca i file installati nel sistema da nome-pacchetto.
-S, --search modello-ricerca-nomefile...
    Cerca un nome file nei pacchetti installati.
-p, --print-avail nome-pacchetto...
    Mostra i dettagli su nome-pacchetto, come presenti in
    /var/lib/dpkg/available. Gli utenti di frontend basati su APT
    dovrebbero invece usare apt-cache show nome-pacchetto.

OPZIONI

Tutte le opzioni possono essere specificate sia nella riga di comando sia nel file di configurazione di dpkg, /etc/dpkg/dpkg.cfg o in file frammento nella directory di configurazione /etc/dpkg/dpkg.cfg.d/ (con nomi che corrispondono al modello shell '[0-9a-zA-Z_-]*'). Ogni riga nel file di configurazione è un'opzione (esattamente uguale all'opzione per la riga di comando ma senza i trattini iniziali) o un commento (se inizia con un carattere #).
--abort-after=numero
Cambia il numero di errori dopo il quale dpkg si interromperà.Il valore predefinito è 50.
-B, --auto-deconfigure
Quando un pacchetto viene rimosso, è possibile che un altro pacchetto installato dipenda da esso. Se si specifica questa opzione il pacchetto che dipende da quello rimosso verrà automaticamente deconfigurato.
-Dottale, --debug=ottale
Attiva il debug. ottale viene formato unendo con un'operazione di OR i singoli valori desiderati dall'elenco sottostante (notare che questi valori potrebbero cambiare nei rilasci futuri). -Dh o --debug=help mostrano questi valori usati nel debug.


    Numero   Descrizione
         1   Informazioni di utilità generale sul progresso
         2   Invocazione e stato degli script dei manutentori
        10   Output per ogni file elaborato
       100   Molto output per ogni file elaborato
        20   Output per ogni file di configurazione
       200   Molto output per ogni file di configurazione
        40   Dipendenze e conflitti
       400   Molto output su dipendenze e conflitti
     10000   Attivazione ed elaborazione dei trigger
     20000   Molto output sui trigger
     40000   Una quantità irragionevole di output sui trigger
      1000   Molto ciance su, ad esempio, la directory dpkg/info
      2000   Una quantità irragionevole di ciance

--force-operazioni, --no-force-operazioni, --refuse-operazioni

Forza o rifiuta (no-force e refuse hanno lo stesso significato) l'esecuzione di alcune operazioni. operazioni è una lista separata da virgole di operazioni specificate in seguito. --force-help visualizza un messaggio che le descrive. Le operazioni contrassegnate da (*) vengono forzate in modo predefinito.

Attenzione: queste opzioni sono pensate principalmente per essere usate solamente da esperti. Usarle senza aver pienamente compreso il loro effetto può danneggiare l'intero sistema.

all: abilita (o disabilita) tutte le opzioni di forzatura.

downgrade(*): installa un pacchetto anche se è già installata una versione più recente.

Attenzione: ad oggi dpkg non fa alcun controllo sulle dipendenze delle retrocessioni e perciò non avvertirà se la retrocessione rende difettosa una dipendenza di un altro pacchetto. Ciò può avere seri effetti collaterali; la retrocessione di componenti essenziali del sistema può persino rendere tutto il sistema inutilizzabile. Usarla con cautela.

configure-any: configura anche qualsiasi pacchetto, spacchettato ma non configurato, da cui dipende quello in considerazione.

hold: elabora i pacchetti anche quando contrassegnati come «bloccati».

remove-reinstreq: rimuove un pacchetto, anche se è difettoso e ha il contrassegno che richiede la reinstallazione. Questo può, ad esempio, far sì che parti del pacchetto rimangano sul sistema e vengano poi dimenticate da dpkg.

remove-essential: rimuove un pacchetto anche se è considerato essenziale. I pacchetti essenziali contengono per lo più i comandi Unix veramente fondamentali; la loro rimozione può far sì che l'intero sistema non funzioni più, perciò usarla con cautela.

depends: trasforma tutti i problemi di dipendenza in avvertimenti.

depends-version: non si preoccupa delle versioni quando controlla le dipendenze.

breaks: installa un pacchetto anche se ne rende difettoso un altro.

conflicts: installa, anche se va in conflitto con un altro pacchetto. Questo è pericoloso, perché di solito comporta la sovrascrittura di alcuni file.

confmiss: se un file di configurazione è mancante e la versione del pacchetto è cambiata, installa sempre il file di configurazione senza chiedere all'utente. Questo è pericoloso, perché significa non preservare una modifica (la rimozione) fatta al file.

confnew: se un file di configurazione è stato modificato e la versione del pacchetto è cambiata, installa sempre la nuova versione senza chiedere, a meno che non venga specificata anche --force-confdef, nel qual caso verrà privilegiata l'azione predefinita.

confnew: se un file di configurazione è stato modificato e la versione del pacchetto è cambiata, mantiene sempre la vecchia versione senza chiedere, a meno che non venga specificata anche --force-confdef, nel qual caso verrà privilegiata l'azione predefinita.

confdef: se un file di configurazione è stato modificato e la versione del pacchetto è cambiata, sceglie sempre l'azione predefinita senza chiedere all'utente. Se non c'è un'azione predefinita, si fermerà per chiedere all'utente, a meno che non sia stata specificata anche --force-confnew o --force-confold, nel qual caso userà quella per decidere l'azione definitiva.

confask: se un file di configurazione è stato modificato propone sempre di sostituirlo con la versione nel pacchetto, anche se la versione nel pacchetto non è cambiata. Se è stata specificata una qualsiasi delle opzioni --force-confmiss, --force-confnew, --force-confold o --force-confdef, allora quella verrà usata per decidere l'azione definitiva.

overwrite: sovrascrive il file di un pacchetto con quello di un altro.

overwrite-dir: sovrascrive la directory di un pacchetto con il file di un altro.

overwrite-diverted: sovrascrive una versione diversificata di un file con una che non è stata diversificata.

unsafe-io: non effettua operazioni di I/O sicure durante lo spacchettamento. Attualmente ciò implica non effettuare la sincronizzazione dei file system prima di rinominare i file; ciò determina una sostanziale diminuzione delle prestazioni in alcuni file system, sfortunatamente proprio quelli che richiedono l'I/O sicuro per il loro comportamento non affidabile che causa file di lunghezza zero in caso di bruschi crash del sistema.

Nota: per ext4, il principale colpevole, considerare invece l'uso dell'opzione di mount nodelalloc, che risolverà sia la diminuzione delle prestazioni, sia i problemi di sicurezza dei dati; per questi ultimi fa sì che il file system non produca file di lunghezza zero in caso di bruschi crash del sistema con software che non esegue sincronizzazioni prima delle singole azioni di rinomina.

Attenzione: usare questa opzione può migliorare le prestazioni al prezzo di perdita di dati: usare con cautela.

architecture: elabora anche i pacchetti con architettura sbagliata o senza architettura.

bad-version: elabora anche i pacchetti con versioni sbagliate.

bad-path: PATH manca di alcuni programmi importanti, perciò è probabile si verifichino problemi.

not-root: cerca di installare o disinstallare cose anche quando non è root.

bad-verify: installa un pacchetto anche se non supera il controllo di autenticità.

--ignore-depends=pacchetto,...
Ignora il controllo delle dipendenze per i pacchetti specificati (in realtà il controllo viene effettuato ma vengono forniti solo gli avvertimenti sui conflitti e nient'altro).
--no-act, --dry-run, --simulate
Fa tutto ciò che dovrebbe essere fatto, ma non scrive alcun cambiamento. Viene usato per vedere cosa succederebbe con l'azione specificata, senza modificare realmente nulla.

Assicurarsi di specificare --no-act prima del parametro di azione, oppure si potrebbero verificare risultati indesiderati. (Ad esempio, dpkg --purge pippo --no-act prima elimina completamente il pacchetto pippo e poi cerca di eliminare il pacchetto --no-act, anche se probabilmente ci si aspettava che non facesse nulla.)

-R, --recursive
Gestisce in modo ricorsivo tutti i file regolari che corrispondono al modello *.deb e che si trovano nelle directory specificate e tutte le loro sottodirectory. Può essere usato con le azioni -i, -A, --install, --unpack e --avail.
-G
Non installa un pacchetto se è già installata una versione più recente dello stesso pacchetto. Questo è un alias per --refuse-downgrade.
--admindir=dir
Cambia la directory amministrativa predefinita, che contiene molti file che forniscono informazioni sullo stato dei pacchetti installati o non installati, ecc. (Il valore predefinito è /var/lib/dpkg)
--instdir=dir
Cambia la directory di installazione predefinita che corrisponde alla directory in cui devono essere installati i pacchetti. instdir è anche la directory passata a chroot(2) prima di eseguire gli script di installazione del pacchetto, il che significa che gli script considerano la directory instdir come directory radice. (Il valore predefinito è /)
--root=dir
Cambiare root cambia instdir in dir e admindir in dir/var/lib/dpkg.
-O, --selected-only
Elabora solo i pacchetti che sono selezionati per l'installazione. L'effettiva assegnazione dei contrassegni viene fatta da dselect o da dpkg, quando manipola i pacchetti. Per esempio, quando un pacchetto viene rimosso verrà contrassegnato come selezionato per la disinstallazione.
-E, --skip-same-version
Non installa il pacchetto se è già installata la stessa versione del pacchetto.

--pre-invoke=comando
--post-invoke=comando

Imposta un hook per invocare comando, da essere eseguito usando «sh -c» prima o dopo l'esecuzione delle azioni unpack, configure, install, triggers-only, remove e purge di dpkg. Questa opzione può essere specificata più volte. L'ordine in cui vengono specificate le opzioni viene preservato, dando la precedenza a quelle dei file di configurazione. La variabile d'ambiente DPKG_HOOK_ACTION viene impostata per gli hook all'azione corrente di dpkg. Nota: i frontend possono chiamare dpkg più volte per ogni invocazione, il che può eseguire gli hook più volte di quanto ci si aspetti.

--path-exclude=modello-glob
--path-include=modello-glob

Imposta modello-glob come filtro per il percorso, escludendo o reincludendo durante l'installazione percorsi precedentemente esclusi che corrispondono ai modelli specificati.

Attenzione: tenere a mente che, a seconda dei percorsi esclusi, si può danneggiare l'intero sistema; usare con cautela.

I modelli glob usano gli stessi caratteri jolly usati nella shell, dove «*» corrisponde a qualsiasi sequenza di caratteri, inclusa la stringa vuota e anche «/». Ad esempio, '/usr/*/READ*' fa corrispondenza con '/usr/share/doc/package/README'. Come di consueto, «?» corrisponde a qualsiasi carattere singolo (incluso ancora una volta «/»). «[» inizia una classe di caratteri, che può contenere una lista di caratteri, intervalli e complementi. Vedere glob(7) per informazioni dettagliate sull'uso dei modelli glob. Nota: l'implementazione attuale può reincludere più directory e collegamenti simbolici di quanto necessario, per precauzione e per evitare possibili fallimenti durante lo spacchettamento; le versioni future potrebbero risolvere questo aspetto.

Può essere usato per rimuovere tutti i percorsi tranne alcuni specifici; un caso tipico è:

--path-exclude=/usr/share/doc/*
--path-include=/usr/share/doc/*/copyright

per rimuovere tutti i file di documentazione tranne i file di copyright.

Queste due opzioni possono essere specificate più volte e intrecciate assieme. Vengono entrambe elaborate nell'ordine specificato, e l'ultima regola che corrisponde ad un nome di file determina la decisione.

--status-fd n
Invia informazioni leggibili da macchina sullo stato dei pacchetti e sull'avanzamento al descrittore di file n. Questa opzione può essere specificata più volte. L'informazione di solito contiene un record per riga, in una delle forme seguenti:
status: pacchetto: stato
Lo stato del pacchetto è cambiato; stato è come nel file di stato.
status: pacchetto : error : messaggio-esteso-di-errore
Si è verificato un errore. Qualsiasi eventuale ritorno a capo all'interno di messaggio-esteso-di-errore verrà convertito in spazi prima di essere passato in output.
status: file : conffile-prompt : 'reale-vecchio' 'reale-nuovo' modificato-da-utente modificato-da-distribuzione
È stata chiesta all'utente una risposta riguardo ad un file di configurazione.
processing: stadio: pacchetto
Inviato immediatamente prima che inizi uno stadio dell'elaborazione. stadio è uno tra upgrade, install (entrambi inviati prima dello spacchettamento), configure, trigproc, disappear, remove, purge.
--status-logger=comando
Invia informazioni leggibili da macchina sullo stato dei pacchetti e sull'avanzamento allo standard input di comando. Questa opzione può essere specificata più volte. Il formato di output è lo stesso di --status-fd.
--log=nomefile
Registra gli aggiornamenti sui cambiamenti di stato e le azioni in nomefile invece del predefinito /var/log/dpkg.log. Se questa opzione viene specificata più volte, è usato l'ultimo nome di file. I messaggi registrati sono nella forma «AAAA-MM-GG HH:MM:SS status stato pacch versione-installata» per gli aggiornamenti sui cambiamenti di stato; «AAAA-MM-GG HH:MM:SS azione pacch versione-installata versione-disponibile» per le azioni, dove azione è una tra install, upgrade, remove, purge; e «AAAA-MM-GG HH:MM:SS conffile nomefile decisione» per i cambiamenti dei file di configurazione, dove decisione è install o keep.
--no-debsig
Non cerca di verificare le firme dei pacchetti.
--no-triggers
Non esegue alcun trigger in questa esecuzione (le attivazioni verranno comunque registrate). Se usata con --configure pacchetto o --triggers-only pacchetto, allora lo script postinst del pacchetto verrà comunque eseguito anche se è necessaria solo un'esecuzione dei trigger. L'uso di questa opzione può lasciare i pacchetti negli stati non corretti triggers-awaited e triggers-pending. Ciò può essere successivamente sistemato eseguendo dpkg --configure --pending.
--triggers
Annulla un'opzione --no-triggers precedente.

FILE

/etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*
File con frammenti di configurazione.
/etc/dpkg/dpkg.cfg
File di configurazione con le opzioni predefinite.
/var/log/dpkg.log
File di registro predefinito (vedere /etc/dpkg/dpkg.cfg(5) e l'opzione --log).

Gli altri file elencati in seguito sono nelle loro directory predefinite; vedere l'opzione --admindir per sapere come modificare la posizione di questi file.

/var/lib/dpkg/available
Elenco di pacchetti disponibili.
/var/lib/dpkg/status
Stati dei pacchetti disponibili. Questo file contiene informazioni riguardo al fatto che un pacchetto sia contrassegnato o meno per la rimozione, sia installato o meno, ecc. Per maggiori dettagli vedere la sezione INFORMAZIONI SUI PACCHETTI.

Ogni giorno viene fatto un backup del file di stato in /var/backups. Può essere utile se viene perso o diventa corrotto a causa di problemi con i file system.

I file seguenti sono componenti di un pacchetto binario. Per maggiori informazioni su di essi, vedere deb(5).

control
conffiles
preinst
postinst
prerm
postrm

AMBIENTE

HOME
Se impostata, dpkg la userà come directory nella quale leggere il file di configurazione specifico dell'utente.
TMPDIR
Se impostata, dpkg la userà come directory nella quale creare i file e le directory temporanee.
PAGER
Il programma che dpkg eseguirà per visualizzare i file di configurazione.
SHELL
Il programma che dpkg eseguirà per avviare una nuova shell.
COLUMNS
Imposta il numero di colonne che dpkg userà per visualizzare il testo formattato. Attualmente è usata solo da -l.
DPKG_SHELL_REASON
Definita da dpkg nella shell creata quando chiede all'utente di esaminare la situazione riguardo ai file di configurazione. Valore attualmente valido: conffile-prompt.
DPKG_CONFFILE_OLD
Definita da dpkg nella shell creata quando chiede all'utente di esaminare la situazione riguardo ai file di configurazione. Contiene il percorso del vecchio file di configurazione.
DPKG_CONFFILE_NEW
Definita da dpkg nella shell creata quando chiede all'utente di esaminare la situazione riguardo ai file di configurazione. Contiene il percorso del nuovo file di configurazione.
DPKG_RUNNING_VERSION
Definita da dpkg nell'ambiente dello script del manutentore e impostata alla versione dell'istanza di dpkg attualmente in esecuzione.
DPKG_MAINTSCRIPT_PACKAGE
Definita da dpkg nell'ambiente dello script del manutentore e impostata al nome di pacchetto in fase di elaborazione.
DPKG_MAINTSCRIPT_ARCH
Definita da dpkg nell'ambiente dello script del manutentore e impostata all'architettura per la quale è stato compilato il pacchetto.
DPKG_MAINTSCRIPT_NAME
Definita da dpkg nell'ambiente dello script del manutentore e impostata al nome dello script in esecuzione (preinst, postinst, prerm, postrm).

ESEMPI

Per elencare i pacchetti installati correlati con l'editor vi(1) (notare che dpkg-query non carica più in modo predefinito il file dei pacchetti disponibili, e per quello dovrebbe essere invece usata l'opzione dpkg-query --load-avail):

     dpkg -l '*vi*'

Per vedere le voci riguardanti due pacchetti in /var/lib/dpkg/available:

     dpkg --print-avail elvis vim | less

Per cercare direttamente nell'elenco dei pacchetti:

     less /var/lib/dpkg/available

Per rimuovere un pacchetto elvis installato:

     dpkg -r elvis

Per installare un pacchetto, è necessario prima trovarlo in un archivio o in un CDROM. Il file «available» indica che il pacchetto vim è nella sezione «editors»:

     cd /media/cdrom/pool/main/v/vim
     dpkg -i vim_4.5-3.deb

Per fare una copia locale degli stati di selezione dei pacchetti:

     dpkg --get-selections >mieselezioni

You might transfer this file to another computer, and after having updated the available database there with your package manager frontend of choice (see https://wiki.debian.org/Teams/Dpkg/FAQ for more details), for example:

     avail=`mktemp`
     apt-cache dumpavail >"$avail"
     dpkg --merge-avail "$avail"
     rm "$avail"
lo si può installare con:

     dpkg --clear-selections
     dpkg --set-selections <mieselezioni

Notare che questo non installa o rimuove realmente nulla, ma imposta solamente lo stato di selezione dei pacchetti indicati. Sarà necessaria qualche altra applicazione per scaricare e installare effettivamente i pacchetti richiesti. Per esempio, eseguire apt-get dselect-upgrade.

Nelle situazioni normali, dselect(1) fornisce un metodo più comodo per modificare gli stati di selezione dei pacchetti.

FUNZIONALITÀ AGGIUNTIVE

Si possono ottenere funzionalità aggiuntive installando uno dei seguenti pacchetti: apt, aptitude e debsums.

BUG

--no-act normalmente fornisce meno informazioni di quanto sarebbe utile.

AUTORI

Vedere /usr/share/doc/dpkg/THANKS per l'elenco delle persone che hanno contribuito a dpkg.