Apt-show-versions: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
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.
==Introduzione==
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, capendo subito che le mie ricerche avevano dato buon frutto.<br />


===Sintassi e utilizzo===
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.<br/>
 
==Sintassi e utilizzo==
 
Dando il comando


<pre>$ apt-show-versions <nomepacchetto></pre>
<pre>$ apt-show-versions <nomepacchetto></pre>


Ottenendo:
si ottiene


<pre><nomepacchetto>/<release> <aggiornabilità> (uptodate o upgradeable from xxx to yyy) <versione_attuale></pre>
<pre><nomepacchetto>/<release> <aggiornabilità> (uptodate o upgradeable from xxx to yyy) <versione_attuale></pre>
Riga 15: Riga 19:
aptitude/squeeze uptodate 0.4.11.11-1</pre>
aptitude/squeeze uptodate 0.4.11.11-1</pre>


Come sopra, otteniamo che il pacchetto aptitude deriva da squeeze, è aggiornato ed è alla versione 0.4.11.11-1.<br />
Come sopra, otteniamo che il pacchetto aptitude proviene da Squeeze, è aggiornato ed è alla versione 0.4.11.11-1.<br/>


Per ottenere una lista di tutti i pacchetti basterà digitare il comando:
Per ottenere una lista di tutti i pacchetti basterà digitare il comando:
Riga 21: Riga 25:
<pre>$ apt-show-versions</pre>
<pre>$ apt-show-versions</pre>


dunque senza nessun pacchetto specificato.<br />
dunque senza specificare nessun pacchetto.<br/>


===Alcuni esempi===
==Alcuni esempi==


Grazie all'utilizzo di qualche pipe (=eseguire un comando/applicazione dentro un altro) e grep (per "filtrare" il risultato) potremmo ora scegliere, contare, rimuovere, ... tutti i pacchetti di una particolare release.
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====
====Visualizzare tutti i pacchetti provenienti da Sid====


<pre>$ apt-show-versions | grep sid</pre>
<pre>$ apt-show-versions | grep sid</pre>


====Contare tutti i pacchetti provenienti da sid====
====Contare tutti i pacchetti provenienti da Sid====


<pre>$ apt-show-versions | grep sid | wc -l</pre>
<pre>$ apt-show-versions | grep sid | wc -l</pre>


====Rimuovere tutti i pacchetti provenienti da sid====
====Rimuovere tutti i pacchetti provenienti da Sid====


<pre># aptitude remove `apt-show-versions | grep sid | cut -d '/' -f1`</pre>
<pre># aptitude remove `apt-show-versions | grep sid | cut -d '/' -f1`</pre>


dove con "cut -d '/' -f1", dividiamo la stringa dove c'è lo slash (/) e prendiamo solo il primo campo (-f1) per avere solo il nome del pacchetto senza le informazioni relative alla release, all'aggiornabilità e alla versione (che non sarebbero "digerite" da aptitude).<br />
dove con <code>cut -d '/' -f1</code>, dividiamo la stringa dove c'è lo slash (/) e ne prendiamo solo il primo campo (<code>-f1</code>) per avere il nome del pacchetto senza le informazioni relative alla release, all'aggiornabilità e alla versione (che non sarebbero "digerite" da aptitude).<br/>


===Pinning===
===Pinning===
Riga 45: Riga 49:
{{ warningbox | al pinning!}}
{{ warningbox | al pinning!}}


Dal momento che l'utilità del pacchetto si trova in un sistema misto, molto probabilmente, anche se non obbligatorio, 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.<br />
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 <code>> 500</code> 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.<br/>
Per una "giovane" testing o un sistema misto sid/experimental è dunque consigliabile un pinning inferiore a 500 per la release superiore.
Per una "giovane" testing o un sistema misto Sid/experimental è dunque consigliabile un pinning inferiore a 500 per la release superiore.


===Referenze===
==Approfondimenti==
Ulteriori risorse:
* manpage relative ai comandi citati in questa guida;
* 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.


Per tutte la altre possibilità/informazioni vi rimando ai vari man dei comandi utilizzati in questo how-to, più a questa discussione nel forum della comunità: http://forum.debianizzati.org/aptget-friends/etch-da-aggiorna-pinning-backports-o-cosa-altro-t34728.0.html e alla guida ufficiale sulla gestione dei pacchetti: http://www.debian.org/doc/manuals/quick-reference/ch-package.it.html.<br /><br />


Happy debian !
Happy debian !

Versione delle 20:38, 9 gen 2010

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

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


Happy debian !


Brunitika