Dpkg

Da Guide@Debianizzati.Org.
Versione del 30 mar 2015 alle 22:03 di HAL 9000 (discussione | contributi) (dpkg-deb, dpkg-query, architetture, importa ed esporta lista pacchetti (con stato))
Vai alla navigazione Vai alla ricerca
Document-page-setup.png Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.

Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template.


Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian
Info.png Scrittura della pagina in corso...


Introduzione

Pacchetti installati

Ricerca

Per i comandi relativi a un pacchetto precedentemente installato, dpkg agisce come un frontend alle opzioni più comuni di dpkg-query.

Cerca il pacchetto che ha installato il file, utile per risalire al pacchetto di un eseguibile di cui non si ricorda la provenienza:

$ dpkg --search /percorso/file

Stesso comando, in forma abbreviata:

$ dpkg -S /percorso/file

Restituisce la lista dei file installati nel sistema da un dato pacchetto:

$ dpkg --listfiles nomepacchetto

(forma abbreviata: -L)

Cerca tutti i nomi di pacchetti corrispondenti al pattern scelto (con caratteri jolli: *, ?, [...]) tra quelli precedentemente installati, mostrandone lo stato, la versione e l'architettura:

$ dpkg --list "pattern"

(forma abbreviata: -l)

Per usi più avanzati si consulti il manuale di dpkg-query.

Riconfigurazione

Se si vogliono cambiare le impostazioni di un pacchetto installato e già configurato in fase di installazione, o per cui è possibile cambiare il default tramite dpkg, si può utilizzare dpkg-reconfigure:

# dpkg-reconfigure nomepacchetto

Rispetto agli altri eseguibili, tutti contenuti nel pacchetto dpkg, questo è contenuto in debconf, ma è anch'esso richiesto per il corretto funzionamento di Debian.

Rimozione forzata

Stato dei pacchetti

Restituisce tutti i pacchetti precedentementi installati, accompagnati dal loro stato (install, deinstall, hold, purge):

$ dpkg --get-selections

Lo stato auto o manual (se il pacchetto era installato automaticamente o manualmente) non è registrato, in quanto dpkg non gestisce le dipendenze e non può conoscere se un pacchetto è stato installato solo per soddisfarle.

Esportare e importare la lista dei pacchetti installati

Warning.png ATTENZIONE
Quest'operazione è pericolosa e in caso di errori può causare il blocco e il malfunzionamento del sistema, rendendo necessaria anche una nuova installazione da zero. Non va eseguita se non si è utenti abbastanza esperti, e si consiglia l'uso di un ambiente minimale come una console virtuale.


Si noti che questo meccanismo non funziona tra diverse versioni di Debian e nemmeno tra diverse architetture, o in presenza di diversi driver. È da utilizzare soltanto per ripristinare una configurazione precedente sullo stesso PC o al limite tra due PC quasi identici. Ed è raccomandabile che si tratti di una Debian stable senza altri repository, per via dei cambiamenti che potrebbero avvenire ai pacchetti delle altre release.

Esportare

Per esportare la lista dei pacchetti installati è sufficiente una redirezione su un file (in questo caso lista_pacchetti.txt):

$ dpkg --get-selections > lista_pacchetti.txt

E per salvare anche lo stato è necessario ricorrere ad APT e creare un nuovo file con tale informazione, per esempio tramite apt-mark e una redirezione:

$ apt-mark showauto > lista_auto.txt

Si devono salvare i due file .txt e conservarli, per quando si intende importare.

Importare

Se si vuole importare tale stato in seguito, per replicare la configurazione precedentemente esportata sono sufficienti due comandi:

# dpkg --clear-selections
# dpkg --set-selections < lista_pacchetti.txt

Dove il primo comando imposta lo stato deinstall a tutti i pacchetti non essenziali installati nel sistema, per far sì che i pacchetti installati ma non presenti nella lista vengano rimossi, e il secondo importa la lista dei pacchetti da installare.

Per rendere effettive le modifiche è necessario ricorrere ad APT:

# apt-get dselect-upgrade

E infine per riassegnare gli stati auto ai pacchetti installati:

# apt-mark auto $(cat lista_auto.txt)

A questo punto, se tutto è andato a buon fine, sul PC sono installati tutti e soli i pacchetti presenti al momento dell'esportazione, con gli stessi stati.

Pacchetto deb

Visualizza informazioni

Per i comandi relativi a un pacchetto deb dpkg agisce come un frontend alle opzioni più comuni di dpkg-deb.

Mostra il contenuto del pacchetto deb:

$ dpkg --contents pacchetto.deb

(forma abbreviata: -c)

Visualizza informazioni sul pacchetto deb:

$ dpkg --info pacchetto.deb

(forma abbreviata: -I)

Estrae il contenuto del pacchetto deb nella cartella scelta:

$ dpkg --vextract pacchetto.deb directory

(forma abbreviata: -X)

Per usi più avanzati si consulti il manuale di dpkg-deb.

Installazione

Creazione

Architetture

Informazioni sulle architetture

Visualizza l'architettura di default dei pacchetti Debian che saranno installati:

$ dpkg --print-architecture

Visualizza tutte le altre architetture che possono essere selezionate per l'installazione, ossia tutte quelle aggiunte in seguito manualmente:

$ dpkg --print-foreign-architectures

Aggiungi e rimuovi architetture

Aggiunge una nuova architettura:

# dpkg --add-architecture architecture

Per rendere le modifiche effettive per APT è necessario rieffettuare l'aggiornamento della lista di pacchetti disponibili.

Per esempio:

# dpkg --add-architecture i386
# apt-get update

Rimuove un'architettura precedentemente aggiunta:

# dpkg --remove-architecture architecture

seguito dall'aggiornamento della lista dei pacchetti, per rendere effettive le modifiche.




Guida scritta da: HAL 9000 Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized