[gl-como] Aggiornare il kernel da remoto

fabrix.xm@lombardiacom.it fabrix.xm@lombardiacom.it
Gio 6 Lug 2006 08:56:19 CEST


Scrive Pietro Bertera <pietro@bertera.it>:

> Ciao,
> dal 30 giugno Debian ha smesso di rilasciare aggiornamenti per woody:
> devo aggiornare da remoto tutte le macchine woody in produzione.
> 
> Visto che la cosa mi sembrava interessante ho buttato giu' 2 righe su
> come fare l'upgrade da remoto parandomi il didietro con grub.
> 
> Aggiornare lo userspace è abbastanza liscio se non si ha fatto casini
> con i source list o roba strana.
> 
> L'upgrade del kernel da remoto è una questione un po' piu' delicata,
> usare il fallback di grub mi ha risparmiato un po' di capelli bianchi ;)
> 
> Dove non ci sono particolari esigenze ho optato per il 2.6.16 di
> Backport (1l 2.6.8 di sarge ha problemi con IPsec ed è vetusto).
> 
> 
> 0) Check vari:
> 
> fare tutti i check del caso: c'è la entry per /sys in fstab ?, 
> partizioni, boot loader, dischi e compagnia bella sono ok ?, ci sono
> pacchetti che arrivano da repository non ufficali ? ... ?
> 
> 1) Aggiornare il sources.list
> 
> editare /etc/sources.list e inserire i repository per sarge (questo è il
> mirror Fastweb):
> 
> deb http://debian.fastweb.it/debian/ sarge main contrib non-free
> deb http://security.debian.org/ sarge/updates main contrib non-free
> 
> 2) Primo upgrade (solo userspace):
> 
> # apt-get update
> # apt-get -u dist-upgrade
> 
> se nella lista compare il kernel interrompete l'upgrade e lasciate fuori
> il pacchetto mettendo un pin sulla versione corrente (man
> apt_preferences ) oppure facendo:
> 
> # apt-get install pacchetto1 pacchetto2 pacchetto3 ... 
> (tutti tranne il kernel)
> 
> scaricherà e configurerà i nuovi pacchetti, non dovrebbero esserci
> particolari rogne.
> 
> Qui consiglio di fare un reboot per testare se è tutto ok.
> 
> 2) configurare apt per usare Backports
> 
> Aggiungere a /etc/apt/sources.list
> deb http://www.backports.org/debian/ sarge-backports main
> 
> Ora dobbiamo dare la priorità solo ai pacchetti che ci interessano in
> backport: editare /etc/apt/preferences secondo l'esempio
> 
> Package: *
> Pin: release a=sarge-backports
> Pin-Priority: 200
> 
> Package: linux-image-2.6.16-2-686
> Pin: release a=sarge-backports
> Pin-Priority: 999
> 
> Package: grub
> Pin: release a=sarge-backports
> Pin-Priority: 999
> 
> Package: initramfs-tools
> Pin: release a=sarge-backports
> Pin-Priority: 999
> 
> Package: openswan
> Pin: release a=sarge-backports
> Pin-Priority: 999
> 
> il primo gruppo di istruzioni serve a dare una priorità bassa ai
> pacchetti di backport (altrimenti ci tocca aggiornare tutto quello che
> sta in backport)
> 
> Il secondo, il terzo e il quarto servono per aggiornare il kernel,
> mentre openswan serviva a me, non è indispensabile.
> 
> 4) aggiornare la baracca:
> 
> apt-get update && apt-get -u dist-upgrade && apt-get install grub
> 
> se initramfs-toos non viene aggiornato significa che non è installato,
> quindi occorre installarlo:
> 
> apt-get install initramfs-tools
> 
> 6) Ora il kernel
> apt-get install linux-image-2.6.16-2-686
> 
> ad un certo punto chiederà se vogliamo interrompere l'operazione perchè
> non garantisce che il prossimo reboot andrà a buon fine, noi
> continuiamo.
> Verificare che abbia creato l'initrd e tutto quanto:
> 
> # ls /boot/ | grep 2.6.16
> System.map-2.6.16-2-686
> config-2.6.16-2-686
> initrd.img-2.6.16-2-686
> vmlinuz-2.6.16-2-686
> 
> 
> 7) Configurare Grub:
> 
> editare /boot/grub/menu.lst secondo l'esempio (atattatelo secondo il
> vostro caso):
> 
> default saved
> timeout 10
> fallback 1
> color   cyan/blue white/blue
> serial --unit=0 --speed=9600
> terminal --timeout=2 serial console
> 
> title Debian GNU/Linux, 2.6.16
> root    (hd0,1)
> kernel  /vmlinuz-2.6.16-2-686 root=/dev/hda6 ro console=ttyS0 console=tty0
> panic=30
> initrd  /initrd.img-2.6.16-2-686
> savedefault fallback
> 
> title           Debian GNU/Linux, kernel 2.4.23-i686-freeswan-0.1
> root            (hd0,1)
> kernel          /vmlinuz-2.4.23-i686-freeswan-0.1 root=/dev/hda6 ro
> console=ttyS0
> initrd          /initrd.img-2.4.23-i686-freeswan-0.1
> savedefault
> 
> la terza riga (fallback 1) e savedefault fallback fanno in modo che il
> boot del kernel di default non va a buon fine al prossimo reboot verrà 
> caricato il kernel successivo come default, quindi se va male con il
> 2.6.16 verrà caricato il 2.4.23, l'opzione panic=30 significa che se va
> in kernel panic si rebooterà dopo 30 secondi.
> 
> 8) impostare il primo kernel come default (non dovrebbe essere
> necessario ma...)
> 
> # grub-set-default 0
> 
> 9) Buuum!
> # reboot
> 
> 10) Il dopo:
> 
> se è tutto ok rimuovere da /boot/grub/menu.lst "fallback 1" e sostituire
> "savedefault fallback" con "savedefault" e lanciare "grub-set-default 0"
> 
> Se il nuovo kernel ha avuto qualche problema vi dovreste ritrovare con
> il vecchio kernel, c'è da capire come mai non è andato bene il boot.
> 
> 
> Ciao
> 
> 

bello! che ne dici se si copia paro paro nella sezione "articoli tecnici" sul
sito?

-- 
"Fletto i muscoli e sono nel vuoto!"
[ http://kirgroup.com ][ Linux Registered User #342689 ]
[ http://www.gl-como.net ]


Maggiori informazioni sulla lista gl-como