Tuesday, February 21, 2012

Aggiornare da Fedora 15 a 16 con yum

Sebbene non supportato ufficialmente, ho appena effettuato un aggiornamento da Fedora 15 a 16 utilizzando yum per cui ho pensato di condividere con voi la procedura adottata; prima di iniziare, qualche raccomandazione.

La prima è ovvia (e valida in ogni caso): prima di tentare l'aggiornamento fate un bel backup dei vostri dati.

La seconda: più il sistema è "pulito", ovvero con un ristretto numero di repository attivi (idealmente, solo fedora, fedora-updates e rpmfusion), meno problemi si incontreranno.

L'ultima, per ogni release viene collezionata una lista dei bug più comuni assieme ad eventuali soluzioni note; assicuratevi di controllare la lista per poter prevenire problematiche specifche del vostro hardware.

I metodi disponibili
Aggiornare un distribuzione da una versione all'altra è sempre una operazione delicata in cui molte cose possono andare storte (e chi vi dice il contrario non ha idea di quali siano le dificoltà).

Esistono comunque diversi metodi per farlo, tutti documentati sul wiki Fedora; in particolare aggiornare utilizzando il DVD di installazione è quello consigliato in quanto permette di usare anaconda (il programma di installazione di Fedora) da un ambiente sostanzialmente equivalente - kernel, librerie, etc - a quello del sistema finale.

In alternativa, di recente è stato introdotto PreUpgrade, un programma che analizza il sistema e scarica i pacchetti necessari all'aggiornamento in background (si può quindi continuare a lavorare normalmente) per poi eseguire l'aggiornamento al riavvio.

Aggiornare con Yum
Come detto, aggiornare con yum non è ufficialmente supportato, ma esistono comunque comandi dedicati e procedure documentate; da notare che usando yum è raccomandato aggiornare da una versione a quella immediatamente successiva; per saltare più di una versione si consiglia di ricorrere a PreUpgrade.

La procedura seguita è stata quindi:
  1. Spostarsi su un terminale premendo
    Ctrl-Alt-F2
  2. Diventare root con
    su -
  3. Importare la chiave GPG di Fedora 16 con il comando
    rpm --import https://fedoraproject.org/static/A82BA4B7.txt
  4. Eseguire l'aggiornamento vero e proprio
    yum update yum
    yum clean all
    yum --releasever=16 --disableplugin=presto distro-sync
  5. Attivare grub2 con i comandi
    /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
    /sbin/grub2-install /dev/sda
  6. Completare l'installazione dei gruppi
    yum update @base @gnome-desktop 
Al riavvio, non dimenticate di controllare quali servizi sono attivi: Fedora 16 è passata ad usare systemd, di fatto resettando la configurazione di avvio. Per sapere quali erano attivi potete eseguire, prima dell'upgrade, qualcosa di questo tipo:
chkconfig --list |grep on > ~/previously-running-services
oppure, dopo l'upgrade:
cat /var/lib/systemd/sysv-convert/database

Pulizie finali
Dopo l'aggiornamento è consigliabile fare un po' di pulizia. Si possono evidenziare i pacchetti installati ma non più presenti in nessuno dei repository configurati con:
yum list extras
questi sono normalmente eliminabili senza problemi.

Infine, si possono cercare i file .rpmnew o .rpmsave (di cui ho già parlato qualche tempo fa) eventualmente creati dal processo di aggiornamento con il comando:
find /etc /var -name '*.rpm?*'
in modo da poter unire le eventuali modifiche al file di configurazione originale.

6 comments:

  1. io ho usato preupgrade e mi ha distrutto tutto,
    anaconda mi ha dato errore nell'installazione del grub2 e mi ha bloccato l'upgrade
    non sono riuscito a risolvere e ho piallato tutto e ho messo fedora16 pulita

    ReplyDelete
    Replies
    1. Questo dimostra che gli upgrade non sono mai triviali...

      Delete
  2. certo, nel 2012 invece uno si aspetta che dovrebbero esserlo!

    (o perlomeno essere facile avere un sistema funzionante ed i propri dati al sicuro)

    ReplyDelete
  3. i dati li ho sempre avuti al sicuro, la home l'ho in un altra partizione

    l'unica scocciatura è stata il dover reinstallare il sistema da capo e reinstallare di nuovo tutti i programmi

    ReplyDelete
  4. Fedora dovrebbe diventare "rolling release". E' nella sua natura di distro bleeding-edge.

    ReplyDelete
    Replies
    1. Il concetto di rolling release è interessante, e periodicamente viene riproposto nella mailing list fedora-devel. Secondo me sarà difficile che avvenga per diversi motivi, ma il principale è che se non hai un punto in cui separi il ramo di sviluppo da quello di stabilizzazione è molto difficile ottenere un prodotto coerente ed usabile da tutti. In più, abbiamo già rawhide che è in pratica la nostra rolling ma non è sicuramente adatta ad un ampio pubblico visto che spesso ci vogliono conoscenze avanzate per tenerla assieme. Vedremo.

      Delete