Magazine

Downgrade del proprio Kernel o di pacchetti

Creato il 02 aprile 2012 da Alexiovk @archlinuxitalia

Downgrade del proprio Kernel o di pacchetti

Quante volte ci è capitato di voler effettuare il downgrade di un pacchetto ad una versione precedente? O quante volte, aggiornando il Kernel, abbiamo avuto problemi e voler tornare alla versione precedente? Bene… in questo tutorial vedremo, nel limite del possibile, come effettuare un Downgrade di un pacchetto o un rollback del kernel. 

Downgrade di un pacchetto:

Per effettuare il downgrade “veloce” di un pacchetto è necessario NON aver svuotato la cache di pacman, che corrisponde al comando:

$ sudo pacman -Scc

o al comando numero [12] di yaourt-gui.

Se solitamente non svuotiamo la cache, possiamo procedere come segue:

Il primo passo da fare è cercare all’interno della directory contenente i pacchetti in cache, la versione del pacchetto disponibile, quindi, spostiamoci all’interno della cartella:

$ cd /var/cache/pacman/pkg

e cerchiamo il paccheto da dover degradare (ad esempio wicd), utilizzando anche il comando:

$ ls | grep wicd

ovviamente sostituiamo “wicd” con il pacchetto che vogliamo. Avremo un output come questo:

alessio@ntbkarch pkg $ ls | grep wicd
 wicd-1.7.0-1-any.pkg.tar.xz
 wicd-gtk-1.7.0-1-any.pkg.tar.xz

Controlliamo l’attuale versione del pacchetto il comando:

$ sudo pacman -Q <nome-pacchetto>

a questo punto dobbiamo semplicemente rimuovere l’attuale pacchetto con il comando:

$ sudo pacman -R <nome-pacchetto>

e installare la vecchia versione con il comando:

$ sudo pacman -U /var/cache/pacman/pkg/<nome-pacchetto>-<versione>-<release>-<arch>.pkg.tar.xz

nell’esempio di wicd:

$ sudp pacman -U /var/cache/pacman/pkg/wicd-1.7.0-1-any.pkg.tar.xz

A questo punto se non abbiamo problemi di dipendenze, il downgrade è eseguito con successo, mentre se riscontriamo problemi con le stesse dobbiamo rimuovere le dipendenze e reinstallare una versione precedente come visto sopra.

Può capitare però che la versione precedente del pacchetto non si trovi nella cache. Per ovviare dobbiamo cercarlo e scaricarlo da QUI, rimuovere l’attuale versione sempre con il comando:

$ sudo pacman -R <nome-pacchetto>

recarci nella directory dove abbiamo scaricato il file e installare la vecchia versione sempre con il comando:

$ sudo pacman -U <nome-pkg>.tar.xz

RollBack del Kernel

La stessa procedura vista sopra, è possibile utilizzarla anche per effettuare il downgrade del kernel. Ovviamente se il sistema ha grossi problemi e non riusciamo ad entrare nella shell, dobbiamo utilizzare un’altro metodo, ovvero effettuare il chroot del proprio HardDisk utilizzando il CD di installazione. Vediamo come fare.

Inseriamo il CD e avviamo il sistema, in base alla nostra architettura, come se dovessimo effettuare l’installazione. Una volta entrati nella shell prepariamoci per il chroot.

Impostiamo la tastiera in italiano con il comando:

$ loadkeys it

Montiamo la partizione di root “/” del nostro disco con il comando:

$ mount /dev/sdaN /mnt

dove “N” è il numero della partizione di root “/” e “sda” è il device. Se abbiamo la partizione di boot “/boot” separata dobbiamo ricordarci di monatarla:

$ mount /dev/sdaN /mnt/boot

Montiamo a questo punto anche sys, proc e dev in questo modo:

$ mount -t sysfs none /mnt/sys
$ mount -t proc none /mnt/proc
$ mount --bind /dev /mnt/dev

A questo punto possiamo procedere con il “chroot” lanciando da terminale il comando:

$ chroot /mnt

Lanciato il chroot è come se si avesse il proprio sistema normalmente e quindi possibile lanciare il downgrade del kernel, sempre se presente nella cache, con il comando:

$ pacman -U /var/cache/pacman/pkg/linux-<versione>.pkg.tar.gz

a questo punto riavviamo, togliamo il CD, e facciamo partire normalmente il sistema.

* NOTA Se il kernel non fosse presente nella cache è possibile scaricarlo da QUI utilizzando il comando wget o copiandolo da una chiavetta USB e installarlo, come visto sopra, attraverso il comando “pacman -U“.

Per ulteriori info visita la Wiki ufficiale.


Ritornare alla prima pagina di Logo Paperblog