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>