Applicare solo aggiornamenti upstream

Ven, 25/02/2011 - 17:02

Applicare solo aggiornamenti upstream

Inviato da mcortese 0 commenti

Con il rilascio di Squeeze, è lecito aspettarsi che la testing torni ad avere aggiornamenti piuttosto frequenti. Come fare a scegliere quali pacchetti aggiornare e quali no?

Un criterio possibile (non necessariamente il migliore) è quello di aggiornare solo in corrispondenza delle modifiche upstream e non di quelle minori, interne a Debian. Ciò è facile da realizzare perché la numerazione delle versioni dei pacchetti Debian è sempre:

  • numero della versione upstream
  • trattino "-"
  • numero della revisione Debian

I passi da seguire sono dunque:

  1. scaricare l'elenco dei pacchetti per i quali è disponibile un aggiornamento;
  2. usare awk per isolare i numeri di versione e revisione ante e post modifica;
  3. considerare solo i casi in cui la nuova versione sia maggiore della vecchia;
  4. aggiornare questi casi.

Ecco uno script che realizza tutto ciò in automatico.

#!/bin/bash
tmp=`tempfile`
aptitude search '~U' -F '%p %?V %?v' | awk  >$tmp \
  '{split($2,Cur,"-");split($3,New,"-"); if (Cur[1] != New[1]) print $1}'
[ -s $tmp ] && aptitude install $(<$tmp)
rm $tmp

Versione in inglese disponibile su debian-administration.