Apt-show-versions: differenze tra le versioni
Nessun oggetto della modifica |
|||
Riga 58: | Riga 58: | ||
* la [http://www.debian.org/doc/manuals/quick-reference/ch-package.it.html guida ufficiale] Debian, nella sezione dedicata alla gestione dei pacchetti; | * la [http://www.debian.org/doc/manuals/quick-reference/ch-package.it.html guida ufficiale] Debian, nella sezione dedicata alla gestione dei pacchetti; | ||
* una interessante [http://forum.debianizzati.org/aptget-friends/etch-da-aggiorna-pinning-backports-o-cosa-altro-t34728.0.html discussione] sul forum di Debianizzati. | * una interessante [http://forum.debianizzati.org/aptget-friends/etch-da-aggiorna-pinning-backports-o-cosa-altro-t34728.0.html discussione] sul forum di Debianizzati. | ||
==Alternative simili== | |||
Soprattutto in caso di un sistema con pinning dei pacchetti si suggerisce anche l'utilizzo del comando: | |||
<pre> $ apt-cache policy $pacchetto </pre> | |||
Questo, come ''apt-show-versions'' mostra la versione del pacchetto installata ed i possibili upgrade, inoltre indica per ogni possibile versione del medesimo sia il reposity di provenienza sia il valore di pinning attribuito. | |||
Ad esempio, sul mio sistema: | |||
<pre> $ apt-cache policy aptitude | |||
aptitude: | |||
Installed: 0.6.1.5-3 | |||
Candidate: 0.6.1.5-3 | |||
Version table: | |||
0.6.2.1-2 0 | |||
600 http://ftp.it.debian.org unstable/main Packages | |||
*** 0.6.1.5-3 0 | |||
990 http://ftp.it.debian.org squeeze/main Packages | |||
100 /var/lib/dpkg/status | |||
0.4.11.11-1~lenny1 0 | |||
10 http://ftp.it.debian.org stable/main Packages</pre> | |||
Versione delle 10:06, 18 mag 2010
Versioni Compatibili ERRORE: valore non valido ( Tutte le versioni di Debian )! Vedi qui. |
Introduzione
Per chi come me utilizza un sistema misto (testing/Sid) è ogni tanto utile sapere quanti e quali pacchetti provengono da quale release. Proprio dopo il recente aggiornamento a Squeeze/Sid mi sono trovato con diversi pacchetti provenienti da Sid. Non tutti sono forse però basilari per il sistema; intendo dire, alcuni sono magari prelevabili da Squeeze, senza scomodare Sid.
Cercando in lungo e in largo tutte le espressioni regolari possibili con aptitude, non sono riuscito a trovare un buon metodo per ottenere il risultato voluto. Infine sono incappato in apt-show-versions, e ho capito subito che le mie ricerche avevano dato buon frutto.
Sintassi e utilizzo
Dando il comando:
$ apt-show-versions <nomepacchetto>
si ottiene:
<nomepacchetto>/<release> <aggiornabilità> (uptodate o upgradeable from xxx to yyy) <versione_attuale>
Ad esempio:
$ apt-show-versions aptitude aptitude/squeeze uptodate 0.4.11.11-1
Come sopra, otteniamo che il pacchetto aptitude proviene da Squeeze, è aggiornato ed è alla versione 0.4.11.11-1.
Per ottenere una lista di tutti i pacchetti basterà digitare il comando:
$ apt-show-versions
dunque senza specificare nessun pacchetto.
Alcuni esempi
Grazie all'utilizzo di qualche pipe, ovvero la possibilità di eseguire un comando o un'applicazione all'interno di un altro, e di grep, necessario per "filtrare" il risultato, potremmo ora scegliere, contare, rimuovere, tutti i pacchetti di una particolare release.
Visualizzare tutti i pacchetti provenienti da Sid
$ apt-show-versions | grep sid
Contare tutti i pacchetti provenienti da Sid
$ apt-show-versions | grep sid | wc -l
Rimuovere tutti i pacchetti provenienti da Sid
# aptitude remove `apt-show-versions | grep sid | cut -d '/' -f1`
dove con cut -d '/' -f1
, dividiamo la stringa dove c'è lo slash (/) e ne prendiamo solo il primo campo (-f1
) per avere il nome del pacchetto senza le informazioni relative alla release, all'aggiornabilità e alla versione (che non sarebbero "digerite" da aptitude).
Pinning
ATTENZIONE al pinning! |
Dal momento che l'utilità del pacchetto si trova in un sistema misto, molto probabilmente anche se non necessariamente, utilizzerete il pinning per gestire i pacchetti provenienti da release diverse. In questo caso, per un pinning > 500
i pacchetti ad esempio in testing con una versione superiore in Sid verranno considerati pacchetti appartenenti a Sid ed aggiornabili. Dunque, al prossimo aggiornamento passeranno all'ultima versione disponibile trovandosi effettivamente in Sid.
Per una "giovane" testing o un sistema misto Sid/experimental è dunque consigliabile un pinning inferiore a 500 per la release superiore.
Approfondimenti
Ulteriori risorse:
- manpage relative ai comandi citati in questa guida;
- la guida ufficiale Debian, nella sezione dedicata alla gestione dei pacchetti;
- una interessante discussione sul forum di Debianizzati.
Alternative simili
Soprattutto in caso di un sistema con pinning dei pacchetti si suggerisce anche l'utilizzo del comando:
$ apt-cache policy $pacchetto
Questo, come apt-show-versions mostra la versione del pacchetto installata ed i possibili upgrade, inoltre indica per ogni possibile versione del medesimo sia il reposity di provenienza sia il valore di pinning attribuito.
Ad esempio, sul mio sistema:
$ apt-cache policy aptitude aptitude: Installed: 0.6.1.5-3 Candidate: 0.6.1.5-3 Version table: 0.6.2.1-2 0 600 http://ftp.it.debian.org unstable/main Packages *** 0.6.1.5-3 0 990 http://ftp.it.debian.org squeeze/main Packages 100 /var/lib/dpkg/status 0.4.11.11-1~lenny1 0 10 http://ftp.it.debian.org stable/main Packages
Happy debian !