dpkg(1)

NOME
dpkg - 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 ciò venga fatto, 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 pacchetto...|-a|--pending
    Rimuove un pacchetto installato. Questo rimuove tutto tranne i file di configurazione e ciò può evitare il dover riconfigurare il pacchetto se viene successivamente reinstallato (i file di configurazione sono quelli elencati nel file di controllo DEBIAN/conffiles. Se viene utilizzata -a o --pending invece del nome di un pacchetto, allora tutti i pacchetti spacchettati ma contrassegnati nel file /var/lib/dpkg/status come da rimuovere vengono rimossi. La rimozione di un pacchetto consiste dei seguenti passaggi:
    1. Esecuzione dello script prerm
    2. Rimozione dei file installati
    3. Esecuzione dello script postrm

-P, --purge pacchetto...|-a|--pending
    Elimina completamente un pacchetto installato o già rimosso. Ciò elimina tutto, inclusi i file di configurazione. Se viene utilizzata -a o --pending invece del nome di un pacchetto, allora tutti i pacchetti spacchettati o rimossi ma contrassegnati nel file /var/lib/dpkg/status come da eliminare, vengono eliminati completamente. Nota: 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. L'eliminazione completa di un pacchetto consiste dei seguenti passaggi:
    1. Rimozione del pacchetto, se non già rimosso. Per informazioni dettagliate su come ciò venga fatto, vedere --remove.
    2. Esecuzione dello script postrm

-V, --verify [nome-pacchetto...]
    Verifica l'integrità di nome-pacchetto o, se omesso, di tutti i pacchetti confrontando le informazioni nei file installati da un pacchetto con le informazioni sui metadati dei file memorizzate nel database di dpkg. L'origine delle informazioni sui metadati dei file nel database sono i pacchetti binari stessi. Tali metadati vengono raccolti al momento dello spacchettamento durante il processo di installazione. Attualmente l'unico controllo funzionale effettuato è una verifica md5sum del valore memorizzato nel database dei file. Verrà controllato solamente se il database contiene il valore md5sum del file. Per controllare se ci sono metadati mancanti nel database, può essere usato il comando --audit. Il formato di output è selezionabile con l'opzione --verify-format che usa in modo predefinito il formato rpm, ma che potrebbe cambiare in futuro; per questo i programmi che analizzano l'output di questo comando dovrebbero richiedere esplicitamente il formato che si aspettano.

--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. Se non viene specificato l'argomento Packages-file o se viene usato -, allora verrà letto dallo standard input (a partire da dpkg 1.17.7). 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 [nome-pacchetto...]
    Effettua controlli sullo stato di salute e la coerenza del database per nome-pacchetto o, se omesso, per tutti i pacchetti. Per esempio, cerca pacchetti che sono stati installati solo parzialmente sul sistema o che hanno dati o file di controllo mancanti, sbagliati od obsoleti. dpkg suggerirà cosa fare per risolvere i problemi.

--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 «#». Affinché questo comando sia utile, il file available deve essere aggiornato, altrimenti i pacchetti sconosciuti verranno ignorati senza avvertimenti. Per maggiori informazioni vedere i comandi --update-avail e --merge-avail.

--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, purge, add-architecture e remove-architecture 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.

--verify-format nome-formato
    Imposta il formato di output per il comando --verify. L'unico formato di output supportato per il momento è rpm, che consiste di una riga per ogni percorso che ha fallito un qualsiasi controllo. Le righe iniziano con 9 caratteri per riportare i risultati di ogni controllo specifico, un «?» indica che non è stato possibile fare il controllo (mancanza di supporto, permessi dei file, ecc.), «.» indica che il controllo è stato passato e un carattere alfanumerico indica che uno specifico controllo è fallito; la verifica md5sum è indicata con un «5» nel terzo carattere. La riga è seguita da uno spazio e un carattere di attributo (attualmente «c» per i file di configurazione), un altro spazio e il nome del percorso.

--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.

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 (senza qualifica di architettura) in fase di elaborazione.

DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT
    Definita da dpkg nell'ambiente dello script del manutentore e impostata al conteggio dei riferimenti al pacchetto, cioè il numero di istanze del pacchetto con uno stato maggiore di non-installato. A partire da dpkg 1.17.2.

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).

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
    triggers

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

ESEMPI
Per elencare i pacchetti installati correlati con l'editor vi(1) (notare che dpkg-query non carica più in modo predefinito il file available, e per quello dovrebbe essere invece usata l'opzione --load-avail di dpkg-query):
     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
Si può trasferire questo file su un altro computer e, dopo aver aggiornato lì il file available con il frontend prescelto per il gestore dei pacchetti (vedere https://wiki.debian.org/Teams/Dpkg/FAQ per maggiori dettagli), per esempio:
     apt-cache dumpavail | dpkg --merge-avail
o con dpkg 1.17.6 e precedenti:
     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.

VEDERE ANCHE
aptitude(1), apt(1), dselect(1), dpkg-deb(1), dpkg-query(1), deb(5), deb-control(5), dpkg.cfg(5) e dpkg-reconfigure(8).

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