Apt-mark: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
(modifiche alla fase di importazione degli stati dei pacchetti, correzioni minori varie)
Riga 48: Riga 48:
<blockquote>
<blockquote>
<pre>$ apt-mark showauto</pre>
<pre>$ apt-mark showauto</pre>
Lista tutti i pacchetti installati automaticamente sul sistema per soddisfare altre dipendenze.
Lista in ordine alfabetico tutti i pacchetti installati automaticamente sul sistema per soddisfare altre dipendenze.
</blockquote>
</blockquote>


Riga 54: Riga 54:
<blockquote>
<blockquote>
<pre>$ apt-mark showmanual</pre>
<pre>$ apt-mark showmanual</pre>
Lista tutti i pacchetti installati manualmente sul sistema, compresi quelli in fase di installazione.
Lista in ordine alfabetico tutti i pacchetti installati manualmente sul sistema, compresi quelli in fase di installazione.
</blockquote>
</blockquote>


Riga 60: Riga 60:
<blockquote>
<blockquote>
<pre>$ apt-mark showhold</pre>
<pre>$ apt-mark showhold</pre>
Lista tutti i pacchetti installati sul sistema per i quali sono impediti futuri aggiornamenti.
Lista in ordine alfabetico tutti i pacchetti installati sul sistema per i quali sono impediti futuri aggiornamenti.
</blockquote>
</blockquote>


Riga 69: Riga 69:


L'esportazione si effettua con <code>apt-mark</code>, mentre si utilizza <code>apt-mark</code> e anche [[apt-get]] per importare la lista.
L'esportazione si effettua con <code>apt-mark</code>, mentre si utilizza <code>apt-mark</code> e anche [[apt-get]] per importare la lista.
{{Box | Nota | Non tutti i pacchetti non presenti al momento dell'esportazione della lista dei pacchetti saranno disinstallati, se per esempio raccomandati da quelli installati manualmente, per cui mentre questo metodo garantisce che siano installati almeno tutti quelli iniziali, e che siano rimossi quelli non richiesti e non raccomandati, non garantisce che siano presenti esclusivamente quelli esportati al punto precedente. Per ottenere una copia perfetta l'unico modo è utilizzare <code>apt-mark</code> assieme a [[dpkg]].
Questo metodo è comunque più che sufficiente nella maggior parte delle situazioni, e i pacchetti in più rimasti si possono sempre individuare e rimuovere manualmente in seguito.}}


=== Esportare ===
=== Esportare ===
Riga 77: Riga 81:
Posso visualizzare e modificare le liste, che sono semplici file di testo, e poi salvarli da qualche parte per importarli in seguito.
Posso visualizzare e modificare le liste, che sono semplici file di testo, e poi salvarli da qualche parte per importarli in seguito.


Soltanto la prima lista, con pacchetti installati manualmente, sarà utilizzata effettivamente. L'altra serve soltanto in caso di problemi, per poter risalire a tutti i pacchetti precedentemente installati.
=== Importare ===
Sulla macchina in cui intendo importare la lista dei pacchetti copio il file di testo contenente le due liste di pacchetti create nella sezione precedente, in una directory nota (per esempio in questa sezione si suppone <code>/tmp</code>).
 
Con [[privilegi di amministratore]] effettuo un backup degli stati dei pacchetti nella cartella <code>/root</code>, che non essendo temporanea potrà essere usata successivamente per annullare l'operazione in corso, in caso di problemi:
<pre># apt-mark showmanual > /root/backup_pacchetti_manual.txt</pre>


=== Importare ===
Se voglio rimuovere i pacchetti non presenti nelle liste esportate, marco tutti i pacchetti attualmente installati come installati in automatico:
Sulla macchina in cui intendo importare la lista dei pacchetti copio il file di testo contenente la lista dei pacchetti installati manualmente (<code>lista_pacchetti_manual.txt</code>, se non abbiamo scelto un altro nome), creata nella sezione precedente, in una directory nota (per esempio <code>/tmp</code>).
<pre># apt-mark auto $(cat /root/backup_pacchetti_manual.txt)</pre>
Altrimenti, se si è interessati soltanto ad aggiungere eventuali pacchetti mancanti, il comando precedente può essere ignorato.


Con [[privilegi di amministratore]] marco tutti i pacchetti attualmente installati come installati in automatico:
Installo tutti i pacchetti presenti nelle liste esportate, e li marco come installati manualmente (è sufficiente il singolo comando <code>apt-get install</code>):
<pre># apt-mark auto $(apt-mark showmanual)</pre>
<pre># apt-get install $(cat /tmp/lista_pacchetti_manual.txt /tmp/lista_pacchetti_auto.txt)</pre>


Installo i pacchetti installati precedentemente, importandoli dalla lista dei pacchetti, e li marco come installati manualmente (è sufficiente il singolo comando <code>apt-get install</code>):
Ripristino lo stato di quelli installati automaticamente:
<pre># apt-get install $(cat /tmp/lista_pacchetti_manual.txt)</pre>
<pre># apt-mark auto $(cat /tmp/lista_pacchetti_auto.txt)</pre>


Infine rimuovo tutti quelli non più necessari:
Infine rimuovo tutti quelli non più necessari, ossia non richiesti e non raccomandati dai pacchetti installati manualmente:
<pre># apt-get autoremove</pre>
<pre># apt-get autoremove</pre>


A questo punto, in un sistema con la stessa architettura e la stessa [[release]], saranno presenti soltanto i pacchetti installati manualmente, come contenuti nella lista precedentemente esportata, e le loro dipendenze. E saranno preservati anche i loro stati di installazione (manuale o automatico).
A questo punto, in un sistema con la stessa architettura e la stessa [[release]], saranno presenti soltanto i pacchetti installati manualmente, come contenuti nella lista precedentemente esportata, e le loro dipendenze. E saranno preservati anche i loro stati di installazione (manuale o automatico).
L'unica possibile differenza sarà nella presenza nel sistema di pacchetti raccomandati in più rispetto alla lista di pacchetti installati automaticamente esportata, se si sono cambiate le scelte di default. Per controllare se ci sono pacchetti in più:
<pre>
$ apt-mark showauto | diff --suppress-common-lines /tmp/lista_pacchetti_auto.txt -
</pre>
E se si vuole si può procedere alla loro eliminazione, per esempio con [[apt-get]].


== Controllare lo stato di un pacchetto ==
== Controllare lo stato di un pacchetto ==
Riga 147: Riga 162:


{{Autori
{{Autori
|Autore = [[Utente:HAL 9000|HAL 9000]] 13:01, 19 apr 2015 (CEST)
|Autore = [[Utente:HAL 9000|HAL 9000]] 12:20, 21 apr 2015 (CEST)
|Estesa_da =
|Estesa_da =
|Verificata_da =
|Verificata_da =