3 581
contributi
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 |
contributi