Dpkg: differenze tra le versioni
mNessun oggetto della modifica |
(dpkg-deb, dpkg-query, architetture, importa ed esporta lista pacchetti (con stato)) |
||
Riga 5: | Riga 5: | ||
== Introduzione == | == Introduzione == | ||
== | == Pacchetti installati == | ||
=== Ricerca === | |||
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 == | ||
== | 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>. | |||
== | === Installazione === | ||
=== Creazione === | |||
== Architetture == | |||
=== Informazioni sulle architetture === | |||
Visualizza l'architettura di default dei pacchetti Debian che saranno installati: | |||
<pre>$ dpkg --print-architecture</pre> | |||
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> | |||
== | === Aggiungi e rimuovi architetture === | ||
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. | |||
Per esempio: | |||
<pre># dpkg --add-architecture i386 | |||
# apt-get update</pre> | |||
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 22:03, 30 mar 2015
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. |
Versioni Compatibili Tutte le versioni supportate di Debian |
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
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 | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |