NOME¶
dpkg - gestore a medio livello di pacchetti Debian
SINTASSI¶
dpkg [opzioni] azione
AVVERTIMENTO¶
Questo manuale è destinato agli utenti che desiderano capire le opzioni
della riga di comando di
dpkg e gli stati dei pacchetti con maggior
dettagli rispetto a quelli forniti con
dpkg --help.
Esso
non dovrebbe essere usato dai manutentori dei pacchetti che
desiderano capire come
dpkg installerà i loro pacchetti. Le
descrizioni di quello che fa
dpkg quando installa e rimuove i
pacchetti, sono particolarmente inadeguate. Per informazioni dettagliate
riguardo a questo, si è pregati di riferirsi all'argomento
Package
Management System sotto le
debian-faq e nel sistema Info GNU.
Per le informazioni riguardo la creazione di pacchetti Debian, vedere
l'argomento
Debian Package Management Tools nello stesso posto.
DESCRIZIONE¶
dpkg è uno strumento a medio livello per installare, costruire,
rimuovere e gestire i pacchetti GNU/Linux Debian. L'interfaccia primaria e
più amichevole per
dpkg è
dselect(8).
dpkg
è di per sé controllato interamente attraverso i parametri da linea
di commando, che consistono esattamente di una azione e nessuna o più
opzioni. Il parametro riferito all'azione comunica a dpkg che cosa fare e le
opzioni controllano il comportamento dell'azione in alcuni modi.
dpkg può anche essere usato come un'interfaccia (front-end) a
dpkg-deb.
Le azioni seguenti sono di
dpkg-deb, e se sono incontrate
dpkg
avvia proprio
dpkg-deb con i parametri che gli vengono forniti:
-b, --build,
-c, --contents,
-I, --info,
-f, --field,
-e, --control,
-x, --extract,
-X, --vextract, e
--fsys-tarfile.
Per le informazioni riguardo queste azioni, si è pregati di riferirsi alla
pagina di manuale
dpkg-deb(1).
dpkg gestisce alcune informazioni utili riguardo i pacchetti disponibili.
Le informazioni si dividono in tre classi:
states,
selection
states e
flags. Questi valori sono destinati ad essere cambiati
principalmente con
dselect.
PACKAGE STATES (STATI DEL PACCHETTO)¶
- installed (installato)
- Il pacchetto è spachettato e correttamente
configurato.
- half-installed (semi-installato)
- L'installazione del pacchetto è stata iniziata, ma per
qualche motivo non è stata completata.
- not-installed (non-inatallato)
- Il pacchetto non è installato nel proprio
sistema.
- unpacked (spacchettato)
- Il pacchetto è spacchettato, ma non configurato.
- half-configured (semi-configurato)
- Il pacchetto è spacchettato ed è stata avviata la
configurazione, ma per qualche motivo non è ancora stata
completata.
- config-files (file di configurazione)
- Solo i file di configurazione del pacchetto sono presenti
nel sistema.
PACKAGE SELECTION STATES (STATI DI SELEZIONE DEL PACCHETTO)¶
- install (installa)
- Il pacchetto è selezionato per l'installazione.
- deinstall (disinstalla)
- Il pacchetto è selezionato per la disinstallazione
(per esempio se si vuole rimuovere tutti i file, eccetto quelli di
configurazione).
- purge (epurazione)
- Il pacchetto è selezionato per essere rimosso (per
esempio se si vuole rimuovere ogni cosa, anche i file di
configurazione).
PACKAGE FLAGS (FLAGS DEL PACCHETTO)¶
- hold (tenere)
- Un pacchetto segnato per essere su hold non viene
manipolato da dpkg, a meno che non venga forzato a fare questo con
l'opzione --force-hold.
- reinst-required
- Un pacchetto marcato con reinst-required è
rotto e richiede la re-installazione. Questi pacchetti non possono essere
rimossi, a meno che dpkg non venga forzato con l'opzione
--force-reinstreq.
AZIONI¶
- dpkg -i | --install
package_file...
- Installa il pacchetto. Se è specificata l'opzione
--recursive o -R, invece del package_file si deve
riferire a una directory.
L'installazione consiste dei seguenti passaggi:
1. Estrazione dei file di controllo del nuovo pacchetto.
2. Se un'altra versione dello stesso pacchetto era installata prima
della nuova installazione, viene eseguito lo script prerm del
vecchio pacchetto.
3. Esecuzione dello script preinst, se è fornito dal
pacchetto.
4. Spacchettamento dei nuovi file, e backup dei vecchi file nello
stesso momento, così che, se qualcosa va storto, questi possano
essere ripristinati.
5. Se un'altra versione dello stesso pacchetto era installata prima
della nuova installazione, viene eseguito lo script postrm del
vecchio pacchetto. Notare che questo script è eseguito dopo lo script
preinst del nuovo pacchetto, perché i nuovi file sono scritti
nello stesso momento in cui i vecchi file sono rimossi.
6. Configurazione del pacchetto. Vedere --configure per
informazioni dettagliate riguardo a come questo viene fatto.
- dpkg --unpack package_file ...
- Spacchetta il pacchetto, ma non lo configura. Se l'opzione
--recursive o -R è specificata, package_file si
deve riferire a una directory invece di un file.
- dpkg --configure package ... | -a |
--pending
- Riconfigura un pacchetto spacchettato. Se l'opzione
-a o --pending è specificata invece di package,
tutti i pacchetti spacchettati ma non configurati saranno configurati.
La configurazione consiste dei seguenti passaggi:
1. Spacchettamento dei file di configurazione e, nello stesso
momento, backup dei vecchi file di configurazione, così che, se
qualcosa va storto, questi possano essere ripristinati.
2. Avvio dello script postinst, se fornito dal
pacchetto.
- dpkg -r | --remove | -P | --purge
package ... | -a | --pending
- Rimuove un pacchetto installato. L'azione -r o
--remove rimuove ogni cosa eccetto i file di configurazione. Questo
può evitare di dover riconfigurare il pacchetto se viene reinstallato
successivamente. (I file di configurazione sono elencati nel file di
controllo debian/conffiles) -P o --purge rimuove ogni
cosa, inclusi i file di configurazione. Se è dato -a o
--pending invece del nome pacchetto, allora tutti i pacchetti non
spacchettati, ma segnati per essere rimossi o eliminati nel file
/var/lib/dpkg/status, saranno rispettivamente rimossi o eliminati.
La rimozione di un pacchetto consiste dei seguenti passaggi:
1. Esecuzione dello script prerm
2. Rimozione dei file installati
3. Esecuzione dello script postrm
- dpkg -p|--print-avail package
- Visualizza i dettagli riguardo al package, come
trovati nel file /var/lib/dpkg/available.
- dpkg --update-avail | --merge-avail
Packages-file
- L'update di dpkg e dselect fornisce
informazioni su quali pacchetti sono disponibili. Con l'azione
--merge-avail, le vecchie informazioni sono combinate con le
informazioni dal Packages-file. Con l'azione --update-avail,
le vecchie informazioni sono sostituite con le informazioni presenti nel
Packages-file. Il Packages-file distribuito con Debian
GNU/Linux è chiamato semplicemente Packages. Il dpkg
tiene una sua memorizzazione dei pacchetti disponibili nel file
/var/lib/dpkg/available.
- dpkg -A | --record-avail package_file
...
- Aggiorna le informazioni di dpkg e dselect
sui pachetti disponibili, con le informazioni dal pacchetto
package_file. Se l'opzione --recursive o -R è
specificata, il package_file si deve riferire a una directory.
- dpkg --forget-old-unavail
- Elimina dalla propria 'memoria' i pacchetti non installati
e non disponibili.
- dpkg --clear-avail
- Elimina ogni informazione esistente riguardo i pacchetti
che sono ancora disponibili.
- dpkg -l | --list package-name-pattern
...
- Elenca i pacchetti forniti con il relativo pattern. Se
nessun package-name-pattern è fornito, elenca tutti i
pacchetti nel file /var/lib/dpkg/available. In
package-name-pattern sono permessi tutti i normali wildchar della
shell. (Sarà necessario 'quotare' package-name-pattern per
evitare che la shell esegua l'espansione del filename. Per esempio,
dpkg -l 'libc5*' fornirà una lista di tutti i pacchetti il cui
nome inizia con "libc5".)
- dpkg -s | --status package-name
...
- Riporta lo stato di un pacchetto specificato. Questo
visualizza semplicemente l'entrata nel database degli stati del pacchetto
installato.
- dpkg -C | --audit
- Ricerca i pacchetti che sono stati installati nel proprio
sistema solo parzialmente. dpkg suggerirà che cosa fare con
questi pachetti per ottenere il loro funzionamento.
- dpkg --get-selections [pattern...]
- Fornisce una lista di pacchetti selezionati, e la scrive
nello stdout.
- dpkg --set-selections
- Imposta le selezioni di pacchetti usando un file letto
dallo stdin.
- dpkg --yet-to-unpack
- Ricerca i pacchetti selezionati per l'installazione, ma che
per alcune ragioni non sono ancora stati installati.
- dpkg -L | --listfiles package ...
- Elenca i file installati nel proprio sistema dal pacchetto
package. È comunque da notare che i file creati da script di
installazione di uno specifico pacchetto non sono elencati.
- dpkg -S | --search
filename-search-pattern ...
- Ricerca di un file dai pacchetti installati. Tutti i
wildchar standard della shell possono essere usati nel percorso.
- dpkg --print-architecture
- Restituisce l'architettura del sistema (per esempio,
"i386"). Questa opzione usa il gcc.
- dpkg --print-gnu-build-architecture
- Restituisce la versione GNU dell'architettura del sistema
(per esempio, "i486").
- dpkg --print-installation-architecture
- Restituisce l'architettura del sistema per
l'installazione.
- dpkg --compare-versions ver1 op ver2
- Compara i numeri di versione, dove op è un
operatore binario. dpkg ritorna un segnale di successo (cioè
risultato uguale a zero) se le condizioni specificate sono soddisfatte,
altrimenti ritorna un segnale di insuccesso (risultato diverso da zero).
Ci sono due gruppi di operatori, che differiscono per come trattano una
assenza di versione in ver1 o ver2. I primi considerano la
versione mancante come più vecchia di qualunque altra versione, e
sono: lt le eq ne ge gt. Gli altri considerano la versione mancante
come più recente di qualunque altra versione, e sono: lt-nl le-nl
ge-nl gt-nl. Altri sono forniti solo per la compatibilità con la
sintassi del file control: < << <= = >= >>
>.
- dpkg --command-fd <n>
- Accetta una serie di comandi da un file descrittore di
ingresso <n>. Nota: le opzioni addizionali impostate dalla
linea di comando e attraverso questo file descrittore, non sono
reimpostate per i comandi sucessivi eseguiti durante la stessa
esecuzione.
- dpkg --help
- Visualizza un breve messaggio di aiuto.
- dpkg --force-help
- Fornisce un aiuto riguardo le opzioni
--force-thing.
- dpkg -Dh | --debug=help
- Fornisce un aiuto sulle opzioni di debugging.
- dpkg --licence | dpkg --license
- Visualizza la licenza di dpkg.
- dpkg --version
- Visualizza le informazioni sulla versione di
dpkg.
- dpkg-deb-actions
- Vedere dpkg-deb(1) per maggiori informazioni
riguardo le seguenti azioni.
dpkg -b | --build directory [filename]
Costruisce un pacchetto Debian GNU/Linux.
dpkg -c | --contents filename
Elenca il contenuto di un pacchetto Debian GNU/Linux.
dpkg -e | --control filename [directory]
Estrae le informazioni di controllo da un pacchetto.
dpkg -x | --extract filename directory
Estrae i file contenuti in un pacchetto.
dpkg -f | --field filename [control-field] ...
Visualizza il/i campo/i del control file di un pacchetto.
dpkg --fsys-tarfile filename
Visualizza il filesystem contenuto nel file tar da un pacchetto
Debian.
dpkg -I | --info filename [control-file]
Mostra le informazioni riguardo a un pacchetto.
dpkg -X | --vextract filename directory
Estrae e visualizza i nomi dei file contenuti da un pacchetto.
OPZIONI¶
Tutte le opzioni possono essere specificate sia dalla linea di comando che nel
file di configurazione di
dpkg /etc/dpkg/dpkg.cfg. Ogni linea
nel file di configurazione è una opzione (esattamente come nella linea di
comando, ma senza '-' davanti) o un commento (se inizia con un
#).
- --abort-after=number
- Cambia il numero di errori oltre cui dpkg si
arresterà. Il valore predefinito è 50.
- -B|--auto-deconfigure
- Quando un pacchetto è rimosso, c'è la
possibilità che un altro pacchetto installato dipenda dal pacchetto
rimosso. Specificando questa opzione si causerà la deconfigurazione
automatica del pacchetto che dipende da quello rimosso.
- -Doctal |
--debug=octal
- Imposta il debugging ON. octal è formato da un
assemblaggio vettoriale (bitwise-orring) di valori della lista qui sotto
(notare che questi valori possono cambiare nelle release future).
-Dh o --debug=help visualizza questi valori di debugging.
numero descrizione
1 Informazioni utili generiche sullo stato di progresso
2 Chiamate e stato dei mantainer scripts
10 Output per ogni file processato
100 Molto output per ogni file processato
20 Output per ogni file di configurazione
200 Molto output per ogni file di configurazione
40 Dipendenze e conflitti
400 Molto output per dipendenze e conflitti
1000 Molte sciocchezze riguardo, ad esempio, la dpkg/info directory
2000 Quantità folle di sciocchezze
- --force-things |
--no-force-things | --refuse-things
-
Forza (force) o rifiuta (refuse) ( no-force e refuse
significano la stessa cosa) di fare alcune cose. things è una
lista, separata da virgole, di cose qui sotto specificate.
--force-help visualizza un messagggio che le descrive. Le cose
marcate con un (*) sono forzate di default.
Avvertimento: Queste opzioni sono principalmente intese per un
utilizzo da parte di soli esperti. Il loro utilizzo senza la piena
conoscenza dei loro effetti potrebbe compromettere l'intero
sistema.
all: Commuta in on (o off) tutte le opzioni di forzatura
auto-select(*): Seleziona i pacchetti per installarli e deseleziona
i pacchetti per rimuoverli.
downgrade(*): Installa un pacchetto, anche se la nuova versione di
questo è già installata.
configure-any: Configura anche tutti i pacchetti spacchettati ma non
configurati da cui dipende il pacchetto corrente.
hold: Processa i pacchetti anche se marcati con "hold".
remove-reinstreq: Rimuove un pacchetto, anche se è rotto e
marcato per la richiesta di re-installazione. Questo può causare, per
esempio, che parti del pacchetto rimangano sul sistema, venendo poi
dimenticate da dpkg.
remove-essential: Rimuove un pacchetto, anche se è considerato
essenziale. I pacchetti essenziali contengono la maggior parte dei comandi
Unix fondamentali. Rimuovere questi pacchetti può portare l'intero
sistema a cessare di funzionare, è quindi da usare con cautela.
depends: Commuta tutti i problemi di dipendenza in messaggi di
avvertimento.
depends-version: Non si cura della versione quando verifica le
dipendenze.
conflicts: Installa il pacchetto, anche se è in conflitto con
un altro pacchetto. Questo è pericoloso, usualmente causerà la
sovrascrittura di alcuni file.
confmiss: Installa sempre un file di configurazione mancante. Questo
è pericoloso dato che non preserva cambiamenti o rimozioni operate al
file.
confnew: Se un file di configurazione è stato modificato
installa sempre la nuova versione senza chiedere conferma; a meno che non
sia stato dato anche --force-confdef, nel cui caso si considera
valida l'azione predefinita.
confold: Se un file di configurazione è stato modificato
mantiene sempre la versione vecchia senza chiedere conferma; a meno che
non sia stato dato anche --force-confdef, nel cui caso si considera
valida l'azione predefinita.
confdef: Se un file di configurazione è stato modificato si
sceglie sempre l'azione predefinita. Se non c'è alcuna azione
predefinita sarà chiesto all'utente cosa fare, a meno che non siano
stati dati anche --force-confnew o --force-confold, nel cui
caso saranno usate queste impostazioni per decidere sull'azione finale.
overwrite: Sovrascrive un file di un pacchetto con un file di un
altro pacchetto.
overwrite-dir Sovrascrive una directory di un pacchetto con un file
di un altro pacchetto.
overwrite-diverted: Sovrascrive un file deviato con una versione non
deviata.
architecture: Processa anche i pacchetti con architettura sbagliata.
bad-path: PATH è carente di programmi importanti, sono
probabili problemi.
not-root: Prova a installare/deinstallare cose anche non come root.
- --ignore-depends=package,...
- Ignora il controllo delle dipendenze per i pacchetti
specificati (in realtà il controllo viene eseguito comunque, ma sono
restituiti solo avvertimenti riguardo i conflitti e nient'altro).
- --new | --old
- Seleziona il formato nuovo o vecchio per i pacchetti
binari. Questa è un'opzione di dpkg-deb(1).
- --nocheck
- Non legge o controlla il contenuto del control file mentre
costruisce un pacchetto. Questa è un'opzione di
dpkg-deb(1).
- --no-act
- Esegue tutto ciò che si suppone debba essere fatto, ma
senza scrivere alcun cambiamento. È usato per vedere cosa
succederebbe con l'azione specificata, senza modificare nulla realmente.
Assicurarsi di dare --no-act prima del parametro relativo alla
azione, altrimenti potrebbero riscontrarsi risultati non desiderati. (per
esempio dpkg --purge foo --no-act epurerà prima il pacchetto
foo per poi provare ad epurare il pacchetto --no-act, nonostante ci si
possa in realtà attendere che non faccia nulla)
- -R | --recursive
- Si occupa ricorsivamente di tutti i files del tipo
*.deb trovati nella directory specificata e nelle sue
subdirectories. Può essere usato con le azioni -i, -A,
--install, --unpack e --avail.
- -G
- Non installa un pacchetto se una nuova versione dello
stesso pacchetto è già installata. Questo è un alias di
--refuse-downgrade.
- --root=dir | --admindir=dir |
--instdir=dir
- Cambia le directory di default. L'admindir di
default è /var/lib/dpkg e contiene molti files che forniscono
informazioni riguardo lo stato dei pacchetti installati o disinstallati,
ecc. La instdir di default è / e si riferisce alla
directory dove i pacchetti sono installati. instdir è anche la
directory passata a chroot(2) prima dell'esecuzione degli script di
installazione del package, significa che gli script vedono la
instdir come una directory di root. Il cambiamento di root
cambia instdir in dir e admindir in
dir/var/lib/dpkg.
- -O | --selected-only
- Processa solamente i pacchetti che sono selezionati per
l'installazione. La selezione attuale è fatta con dselect o da
dpkg, quando gestisce i pacchetti. Per esempio, quando un pacchetto
è rimosso (e quindi non più presente come installato), esso
sarà marcato per l'installazione.
- -E | --skip-same-version
- Non installa il pacchetto se la stessa versione è
già installata.
- --status-fd <n>
- Invia informazioni sullo stato di un pacchetto al file
descrittore <n>. Questo può essere dato molte volte. Gli
aggiornamenti dello stato hanno la forma `status: <pkg>: <pkg
qstate>'.
FILE¶
- /etc/dpkg/dpkg.cfg
- File di configurazione con le opzioni di default.
Gli altri file elencati di seguito si trovano nelle loro directory di default,
vedere l'opzione
--admindir su come cambiare la locazione di questi
file.
- /var/lib/dpkg/available
- Lista dei pacchetti disponibili.
- /var/lib/dpkg/status
- Fornisce gli stati dei pacchetti disponibili. Questo file
contiene informazioni riguardo se un pacchetto è marcato per la
rimozione oppure no, se è installato oppure no, etc. Vedere la
sezione INFORMAZIONI RIGUARDO I PACCHETTI per ulteriori
informazioni.
I seguenti file sono componenti di un pacchetto binario. Vedere
deb(5)
per ulteriori informazioni riguardo questi file:
- control
- conffiles
- preinst
- postinst
- prerm
- postrm
-
VARIABILI D'AMBIENTE¶
- DPKG_NO_TSTP
- Si definisca questa variabile se si preferisce che quando
dpkg deve eseguire una uscita su shell esegua una shell nuova
piuttosto che sospendersi.
- SHELL
- dpkg verrà eseguito in una nuova shell.
- COLUMNS
- Imposta il numero di colonne che dpkg dovrebbe usare
mentre visualizza un testo formattato. Correntemente questa variabile
è usata solo da -l.
ESEMPI¶
Per elencare i pacchetti relativi all'editor vi:
dpkg -l '*vi*'
Per vedere le entrate nel file
/var/lib/dpkg/available su due pacchetti:
dpkg --print-avail elvis vim | less
Per cercare la lista dei pacchetti da se stessi:
less /var/lib/dpkg/available
Per rimuovere il pacchetto elvis installato:
dpkg -r elvis
Per installare un pacchetto, prima è necessario trovarlo in un archivio o
in un CDROM. Il file "available" mostra che il pacchetto vim si
trova nella sectione "editors":
cd /cdrom/hamm/hamm/binary/editors dpkg -i vim_4.5-3.deb
Per fare una copia locale degli stati di selezione pacchetti:
dpkg --get-selections >myselections
È possibile trasferire questo file su un altro computer ed installarlo
lì con:
dpkg --set-selections <myselections
Notare che effettivamente questo non installerà o rimuoverà nessun
pacchetto, ma imposterà solamente gli stati di selezione sui pacchetti
richiesti. Sarà necessaria qualche altra applicazione per effettivamente
scaricare ed installare i pacchetti richiesti.
Di norma si può constatare come
dselect(8) fornisca un modo più
conveniente per modificare gli stati di selezione dei pacchetti.
VEDERE ANCHE¶
dselect(8),
dpkg-deb(1),
deb(5), e
deb-control(5)
BUGS¶
--no-act fornisce in genere meno informazioni di quanto potrebbe essere
utile.
AUTORI¶
Vedere /usr/share/doc/dpkg/THANKS per la lista delle persone che hanno
contribuito a dpkg .
Traduzione in italiano a cura di Hugh Hartmann <hhartmann@libero.it>
Revisione a cura di Francesco Grani <kekkograni@tin.it>