other sections
dpkg(1) | suite dpkg | dpkg(1) |
NOME¶
dpkg - gestore dei pacchetti per DebianSINTASSI¶
dpkg [opzione...] azioneATTENZIONE¶
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.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.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.
- --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.
- --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.
- --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.
- -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 «#».
- --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
-
- --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.
- -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.
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
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 è:
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.
--path-exclude=/usr/share/doc/* --path-include=/usr/share/doc/*/copyright
- --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).
- /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.
- 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*'
dpkg --print-avail elvis vim | less
less /var/lib/dpkg/available
dpkg -r elvis
cd /media/cdrom/pool/main/v/vim
dpkg -i vim_4.5-3.deb
dpkg --get-selections >mieselezioni
avail=`mktemp`
apt-cache dumpavail >"$avail"
dpkg --merge-avail "$avail"
rm "$avail"
dpkg --clear-selections
dpkg --set-selections <mieselezioni
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).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.2013-07-28 | Progetto Debian |