Dpkg

Da Guide@Debianizzati.Org.

(Differenze fra le revisioni)
m
(dpkg-deb, dpkg-query, architetture, importa ed esporta lista pacchetti (con stato))
Riga 5: Riga 5:
== Introduzione ==
== Introduzione ==
-
== Informazioni sui pacchetti noti ==
+
== Pacchetti installati ==
-
;<code>dpkg --search ''/percorso/file''</code>: cerca il pacchetto che ha installato il file, in genere un programma di cui non si ricorda la provenienza;
+
=== Ricerca ===
-
;<code>dpkg --listfiles ''nomepacchetto''</code>: restituisce la lista dei file installati nel sistema da un dato pacchetto.
+
Per i comandi relativi a un pacchetto precedentemente installato, <code>dpkg</code> agisce come un frontend alle opzioni più comuni di <code>dpkg-query</code>.
-
== Riconfigurazione di un pacchetto installato ==
+
Cerca il pacchetto che ha installato il file, utile per risalire al pacchetto di un eseguibile di cui non si ricorda la provenienza:
 +
<pre>$ dpkg --search /percorso/file</pre>
 +
 
 +
Stesso comando, in forma abbreviata:
 +
<pre>$ dpkg -S /percorso/file</pre>
 +
 
 +
Restituisce la lista dei file installati nel sistema da un dato pacchetto:
 +
<pre>$ dpkg --listfiles nomepacchetto</pre>
 +
(forma abbreviata: <code>-L</code>)
 +
 
 +
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:
 +
<pre>$ dpkg --list "pattern"</pre>
 +
(forma abbreviata: <code>-l</code>)
 +
 
 +
Per usi più avanzati si consulti il manuale di <code>dpkg-query</code>.
 +
 
 +
=== 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 <code>dpkg</code>, si può utilizzare <code>dpkg-reconfigure</code>:
 +
<pre># dpkg-reconfigure nomepacchetto</pre>
 +
 
 +
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 ==
== Stato dei pacchetti ==
-
== Rimozione forzata di pacchetti ==
+
Restituisce tutti i pacchetti precedentementi installati, accompagnati dal loro stato (''install'', ''deinstall'', ''hold'', ''purge''):
 +
<pre>$ dpkg --get-selections</pre>
 +
 
 +
Lo stato ''auto'' o ''manual'' (se il pacchetto era installato automaticamente o manualmente) non è registrato, in quanto <code>dpkg</code> non gestisce le dipendenze e non può conoscere se un pacchetto è stato installato solo per soddisfarle.
 +
 
 +
=== Esportare e importare la lista dei pacchetti installati ===
 +
 
 +
{{Warningbox | 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 <code>lista_pacchetti.txt</code>):
 +
<pre>$ dpkg --get-selections > lista_pacchetti.txt</pre>
 +
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:
 +
<pre>$ apt-mark showauto > lista_auto.txt</pre>
 +
 
 +
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:
 +
<pre># dpkg --clear-selections
 +
# dpkg --set-selections < lista_pacchetti.txt</pre>
 +
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:
 +
<pre># apt-get dselect-upgrade</pre>
 +
 
 +
E infine per riassegnare gli stati ''auto'' ai pacchetti installati:
 +
<pre># apt-mark auto $(cat lista_auto.txt)</pre>
 +
 
 +
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 <code>dpkg</code> agisce come un frontend alle opzioni più comuni di <code>dpkg-deb</code>.
 +
 
 +
Mostra il contenuto del pacchetto deb:
 +
<pre>$ dpkg --contents pacchetto.deb</pre>
 +
(forma abbreviata: <code>-c</code>)
 +
 
 +
Visualizza informazioni sul pacchetto deb:
 +
<pre>$ dpkg --info pacchetto.deb</pre>
 +
(forma abbreviata: <code>-I</code>)
 +
 
 +
Estrae il contenuto del pacchetto deb nella cartella scelta:
 +
<pre>$ dpkg --vextract pacchetto.deb directory</pre>
 +
(forma abbreviata: <code>-X</code>)
 +
 
 +
Per usi più avanzati si consulti il manuale di <code>dpkg-deb</code>.
-
== Informazione su un pacchetto deb ==
+
=== Installazione ===
-
;<code>dpkg --contents ''pacchetto.deb''</code>: mostra il contenuto del pacchetto .deb;
+
=== Creazione ===
-
;<code>dpkg --info ''pacchetto.deb''</code>: visualizza informazioni sul pacchetto .deb;
+
== Architetture ==
-
;<code>dpkg --vextract ''pacchetto.deb'' ''directory''</code>: estrae il contenuto del pacchetto .deb nella cartella scelta.
+
=== Informazioni sulle architetture ===
-
== Installazione di un pacchetto deb ==
+
Visualizza l'architettura di default dei pacchetti Debian che saranno installati:
 +
<pre>$ dpkg --print-architecture</pre>
-
== Creazione di un pacchetto deb ==
+
Visualizza tutte le altre architetture che possono essere selezionate per l'installazione, ossia tutte quelle aggiunte in seguito manualmente:
 +
<pre>$ dpkg --print-foreign-architectures</pre>
-
== Informazioni sulle architetture ==
+
=== Aggiungi e rimuovi architetture ===
-
;<code>dpkg --print-architecture</code>: visualizza l'architettura di default dei pacchetti Debian che saranno installati;
+
Aggiunge una nuova architettura:
 +
<pre># dpkg --add-architecture architecture</pre>
 +
Per rendere le modifiche effettive per APT è necessario rieffettuare l'aggiornamento della lista di pacchetti disponibili. 
-
;<code>dpkg --print-foreign-architectures</code>: visualizza tutte le altre architetture che possono essere selezionate per l'installazione.
+
Per esempio:
 +
<pre># dpkg --add-architecture i386
 +
# apt-get update</pre>
-
== Aggiungi e rimuovi architetture ==
+
Rimuove un'architettura precedentemente aggiunta:
 +
<pre># dpkg --remove-architecture architecture</pre>
 +
seguito dall'aggiornamento della lista dei pacchetti, per rendere effettive le modifiche.
{{Autori
{{Autori

Versione delle 23:03, 30 mar 2015

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


Indice

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

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti