From Fedora Project Wiki

PAGINA IN AGGIORNAMENTO Questa pagina descrive come eseguire un upgrade (avanzamento di versione) di Fedora usando yum.

Aggiornamento di Fedora usando direttamente yum

Warning.png
Una versione aggiornata senza usare anaconda - come il metodo yum descritto qui - non è supportata ne raccomandata !
Il metodo d'installazione raccomandato è quello tramite media con l'installer Anaconda come riportato in Installation Guide oppure usare il PreUpgrade. Il PreUpgrade è un aggiornamento leggermente differente dove tutti i pacchetti sono scaricati prima che il sistema venga riavviato nell'installer Anaconda. Sebbene gli upgrade con yum funzionino, non sono esplicitamente testati come parte del processo dal Fedora QA e non sono documentati nella guida d'installazione Fedora. Se non si è preparati a risolvere i problemi autonomamente se appaiono, probabilmente è meglio usare il metodo raccomandato.

Quando si fa un upgrade con yum, non si avranno aiuti da Anaconda ma con un sistema tipico potrebbero essere in grado di aggiornare da remoto tramite SSH e con un downtime (tempo di inattività) limitato. (Si avrà ancora la necessità di riavviare per utilizzare il nuovo kernel ed i servizi attivi).

L'aggiornamento live funziona bene con un'installazione tipica e se si seguono i consigli di seguito.

Partecipare

Se si sta facendo un upgrade usando yum e si notano problemi generici di dipendenza, si prega di segnalarli in http://bugzilla.redhat.com. Leggere la presente pagina wiki, tutte le pagine di riferimento e fare una ricerca nall'archivio della mailing list e, certamente, mantenere questa pagina aggiornata.

Se si vuole aiutare a mantenere gli upgrade live funzionanti regolarmente, c'é il Live Upgrade Special Interest Group.

Istruzioni per l'aggiornamento usando yum

1. Backup del sistema

Eseguire un backup di tutti i dati personali su un disco esterno o un altro computer. Se si verificherà un errore irrecuperabile, un'installazione fresca permetterà di non perdere i propri dati.

2. Leggi i problemi ricorrenti

In una sezione successiva di questa pagina c'è un elenco di problemi comuni relativi alle specifiche versioni. Alcuni di questi richiedono attenzione prima eseguire l'aggiornamento.

Consigli generali sull'aggiornamento di Fedora possono essere trovati alla pagina Updating. Si dovrebbe inoltre leggere la guida all'installazione e le note di rilascio della versione verso alla quale si intende aggiornarsi - questi documenti contengono importanti informazioni riguardo i problemi di aggiornamento. Infine, controllare l'elenco dei bug conosciuti).

3. Fai pulizia

Verificare ed eliminare tutti i file .rpmsave e .rpmnew prima e dopo l'aggiornamento. (Se è abilitato selinux, controllare il security context dei file di configurazione spostati.)

Idea.png
Trovare i file di configurazione inutilizzati
Effettua il merge e risolvere le modifiche determinate dallo script seguente: yum install rpmconf; rpmconf -a.

A questo punto è consigliabile rimuovere tutti i pacchetti non utilizzati - in particolare quelli non standard.

Idea.png
Trovare e verificare i pacchetti "inutilizzati"
E' possibile trovare i pacchetti non richiesti da altri pacchetti con il tool package-cleanup da yum-utils: yum install yum-utils; package-cleanup --leaves. Questi pacchetti potrebbero essere rimossi ma controllare se sono usati direttamente o da altre applicazioni non sostenute da pacchetti rpm. Possono essere rimossi con yum remove package-name-and-version.
Un altro strumento utile per la pulizia dai pacchetti non usati è rpmreaper. E' un'applicazione ncurses che permette di vedere un grafico delle dipendenze e di marcare i pacchetti da rimuovere. Marcando un pacchetto si ottengono le dipendenze relative che possono essere viste immediatamente così da non avviare più volte lo stesso strumento per sbarazzarsi del substrato di pacchetti dipendenti inutilizzati. Installalo con: yum install rpmreaper.
Idea.png
Trovare e rivedere i pacchetti "perduti"
E' possibile trovare i pacchetti orfano (cioé non più presenti nei repository) con: package-cleanup --orphans. Mostrerà anche i pacchetti parzialmente disinstallati ma dove lo script "%postun" fallisce.

4. Fare l'aggiornamento

Se si hanno configurati repository da terzi, devono essere impostati per la nuova versione di Fedora. Passando da una versione all'altra di Fedora, spesso non c'é nulla da fare. Se si passa da una Fedora standard ad una rawhide (o viceversa), inoltre molto tempo servirà per installare gli RPM rawhide dai repository da terzi (o quelli standard, viceversa).

Da notare che l'upgrade può fallire in presenza di dipendenze obsolete da pacchetti non forniti dai repository di yum o non da pacchetti non pronti per la nuova versione.

E' buona norma operare l'upgrade al di fuori della modalità grafica. Disconnettersi per poi

Usare una console testuale

ctrl + alt + F2

oppure

loggarsi come root e spostarsi in runlevel 3

init 3

Aggiornare yum all'ultima versione disponibile

yum update yum

Installare le nuove chiavi gpg per la versione nuova di Fedora

Le chiavi possono essere trovate e verificate in

https://fedoraproject.org/keys

o vedere le istruzioni per uno specifico aggiornamento in basso.

Pulizia della cache

Rimuovere tutte le tracce della versione Fedora che si sta per lasciare, nella cache di yum in /var/log/cache.

yum clean all

Upgrade di tutti i pacchetti

Warning.png
Una volta iniziato l'upgrade live, non cercare di bloccarlo con un riavvìo, il blocco del processo o con qualsiasi altro metodo finché non è completo. Interromperlo significherà avere un sistema misto -- parzialmente della vecchia versione e parzialmente nuovo. In questo stato non sarà affidabile e non funzionerà come ci si aspetta. E' possibile cercare di risolvere i problemi avviando 'yum distro-sync' o 'package-cleanup --problems'.
yum --releasever=<versione alla quale si vuole sincronizzare> distro-sync
Warning.png
Se si riscontrano problemi con le dipendenze, si è soli e devono essere risolti manualmente. Se non si è capaci, usare il preupgrade. Molto spesso è sufficiente per risolvere problematiche legate ai pacchetti. Assicurarsi di non rimuovere metà dell'installazione.

Note: Nonostante sia raccomandato fare upgrade a versioni intermedie, se si aggiorna da versioni vecchie (ad esempio da Fedora 12 a 13, poi da 13 a 14), dipende da quale versione si parte, questo passaggio potrebbe fallire con errore sulla chiave gpg con formato sbagliato. Per superarlo, aggiungere l'opzione "--nogpgcheck" al comando 'yum distro-sync'.

Assicurarsi che Fedora sia aggiornata

Distro-sync solitamente assicura gli upgrade da repository da terzi abilitati.

 yum repolist 

conferma dopo il termine dell'upgrade. yum potrebbe segnalare conflitti o richieste aggiuntive, probabilmente perché si sono usati repository o pacchetti non standard installati manualmente. Tentare di scovare quali creano i problemi (o almeno parte della catena di dipendenze), disinstallarli e provare ancora. Ricordarsi di installare nuovamente quelli essenziali.

Assicurarsi che tutti i (nuovi) pacchetti essenziali dalla nuova versione siano installati con

yum groupupdate Base

Verficare anche gli altri gruppi

yum grouplist

Per esempio

yum groupupdate "GNOME Desktop Environment" \
"Development Tools" "Server Configuration Tools" \
"Hardware Support" "Sound and Video" \
"Graphical Internet" "Fonts" \
"Games and Entertainment" "Printing Software" \
"Administration Tools" "Office/Productivity" "System Tools"

6. Preparazione al riavvìo

Prima di riavviare si dovrebbe solitamente installare il bootloader dal nuovo Grub con

/sbin/grub-install BOOTDEVICE

- dove BOOTDEVICE solitamente è /dev/sda ( se si ottiene errore allora '/dev/sda non ha un corrispondente dispositivo BIOS', allora provare /sbin/grub-install --recheck /dev/sda). Per Fedora 16 e successive, usare /sbin/grub2-install invece di /sbin/grub-install. Vedere sotto per importanti informazioni su come aggiornare a Fedora 16 da versioni precedenti.

Inoltre l'ordine degli script init potrebbe essere cambiato dalla versione precedente. Un comando per reimpostare l'ordine è

cd /etc/rc.d/init.d; for f in *; do /sbin/chkconfig $f resetpriorities; done

Ancora, avviare package-cleanup --orphans per trovare i pacchetti che non sono stati aggiornati.

Note specifiche di versione

Dalla pre-release

Se si sta aggiornando ad una versione finale da una alpha, da una beta, da una anteprima o da altre Rawhide versioni, si prega di vedere Aggiornare da una pre-release a una finale.

A versioni di sviluppo

yum update yum
yum --releasever=rawhide distro-sync --skip-broken --nogpgcheck

Fedora 16 -> Fedora 17

Warning.png
Questo fa riferimnto ad una versione non rilasciata di Fedora. Questi passaggi potrebbero cambiare prima del rilascio.

Prima installare la chiave gpg per la nuova Fedora 17

rpm --import https://fedoraproject.org/static/1ACA3465.txt

Fedora 17 colloca l'intero sistema operativo in /usr. Le cartelle /bin, /sbin, /lib, /lib64 saranno solo dei link simbolici:

/bin → /usr/bin
/sbin → /usr/sbin
/lib → /usr/lib
/lib64 → /usr/lib64

Alcuni ragionamenti dietro a questo cambiamento si trovano qui:

http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge

Gli attuali sistemi installati necessitano di alcuni passaggi manuali per convertire il sistema in base alla nuova struttura di Fedora 17. Dopodiché il sistema può continuare ad essere aggiornato con yum come al solito.

Alcuni pacchetti RPM in Fedora stanno implementando un sistema di sicurezza per le dipendenze, che assicurerà la loro installazione quando sono presenti i link simbolici /bin, /sbin, /lib, /lib64 invece delle normali cartelle come in Fedora 16 e precedenti versioni.

La struttura del filesystem base installato non può essere alterata in sicurezza, mentre il sistema stesso è in esecuzione su di essa. Dracut, l'initrmfs usato per trovare e montare il filesystem radice, può essere istruito per convertire il filesystem in modo da rispettare le aspettative di Fedora 17.

Se il il sistema ha un separato /usr, un separato punto di montaggio, la logica di conversione del montaggio di /usr nei NFS non è ancora supportata; si sta lavorando su questo. /usr su iSCSI, FCoE, NBD sebbene siano suportati, lo sono fino a quando “netroot=...” è specificato nella riga di comando kernel per questi dischi (vedere man dracut.kernel(7)).

Qui ci sono i passaggi per preparare il sistema, per convertirlo e per permettere il normale aggiornamento con yum del sistema installato:

Scaricare ed installare l'rpm più recente ed i pacchetti dracut da Fedora 17:

# yum --releasever=17 update rpm dracut

Aggiornare l'immagine initramfs installata per il kernel in uso ed istruire dracut ad includere il 'dracut module' per convertire il filesystem corrente:

# dracut --force --add convertfs

Se dracut rileva ‘rd.convertfs’ alla riga kernel all'avvìo, inizia la conversione del filesystem del filesystem root. Se risulta già convertito, non farà nulla.

Cambiare il seguente parametro kernel direttamente nel menu del bootloader che è mostrato durante il boot o editare la linea nel /etc/grub*.cfg per rimuovere ro e rhgb ed aggiungere rw rd.info rd.convertfs enforcing=0

Spiegazione delle opzioni:

- rimuovere “ro” (sola lettura - read only)

- aggiungere “rw” (scrittura lettura - read write) lasciare che boot monti il root filesystem scrivibile
- rimuovere “rhgb” (Red Hat graphical boot) per disabilitare il bootsplash grafico
- aggiungere “rd.info” per ottenere maggiori informazioni da dracut
- aggiungere “rd.convertfs” per abilitare lo script di conversione /usr-move in dracut
- aggiungere “enforcing=0” per disabilitare SELinux

Durante l'avvìo dracut convertirà il filesystem e /lib, /lib64, /bin e /sbin dovrebbero poi essere tutti link simbolici alla corrispondenti sottocartelle in /usr.

Dopo la conversione, il sistema dovrà essere immediatamente aggiornato a Fedora 17. Nessun pacchetto da Fedora 15 o Fedora 16 o precedenti pacchetti rawhide dovrà più essere installato. Assicurarsi che nessun repository per Fedora 15 o 16 sia abilitato !

Qualsiasi file con nomi in conflitto che la conversione non può risolvere, saranno conservati come file chiamati *.usrmove~ residing in /usr/lib, /usr/lib64, /usr/bin and /usr/sbin.

Il log messages generato da dracut può essere richiamato con:

# dmesg | grep dracut

Dopo una conversione ben riuscita, reimpostare come in origine il file di configurazione /etc/grub*.cfg alla riga kernel.

Poi:

# yum --releasever=17 --disableplugin=presto --skip-broken distro-sync
# fixfiles onboot

Dopo l'upgrade tutto dovrebbe essere impostato e fatto.

Buon divertimento con il nuovo sistema e un arrivederci a /bin, /sbin, /lib, /lib64 in /usr.

Fedora 15 -> Fedora 16

Prima installare la nuova chiave gpg Fedora 16. Verificare il pacchetto in https://fedoraproject.org/keys ed il certificato ssl Fedora.

rpm --import https://fedoraproject.org/static/A82BA4B7.txt

Poi avviare chkconfig --list e annotare i servizi avviati; sarà necessario riabilitarli con systemctl enable xxxxx.service dopo il riavvìo; siccome le impostazioni Package-x-generic-16.pngsysvinit non verranno ereditate in Package-x-generic-16.pngsystemd. Vedere note di rilascio per maggiori dettagli.

Aggiornare tutti i pacchetti con

yum update yum
yum clean all
yum --releasever=16 --disableplugin=presto distro-sync
Warning.png
Cambio Bootloader
Dopo l'upgrade si avranno installati Package-x-generic-16.pnggrub2 e Package-x-generic-16.pnggrub-efi e rimosso Package-x-generic-16.pnggrub. Tuttavia Grub dovrebbe ancora essere presente nell'MBR ed l'avvìo sarà ancora possibile. E' possibile seguire le istruzioni di seguito per il cambio a Grub2. Se installato, Package-x-generic-16.pngfirstaidkit-plugin-grub potrebbe impedire l'upgrade; in caso è sufficiente rimuoverlo.

Se il proprio sistema usa il BIOS, o si è installata Fedora tramite emulazione del BIOS in un sistema EFI (modalità EFI non nativa), è possibile cambiare al Grub di Fedora 16 seguendo le istruzioni di seguito. Se il sistema è stato installato nativamente con il boot EFI, non cambiare a Grub2 poiché il supporto EFI non è ancora affidabile. Il bootloader di Fedora 16 che supporta l'EFI è ancora grub-legacy quindi si dovrebbe semplicemente continuare ad usare il sistema senza modificarne il bootloader.

Per cambiare a Grub2, eseguire il comando su -c '/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg', poi procedere come descritto sopra con la reinstallazione del bootloader.

Annota i problemi specifici dell'upgrade (per problemi comuni far riferimento a quanto detto sopra)

  • Bug 743022 - F15->F16 aggiornamenti yum non riusciti con IMSM (BIOS) raid

PAGINA IN AGGIORNAMENTO ...


Fedora 13 -> Fedora 14

Installa la chiave gpg di Fedora 14. Verifica questo pacchetto confrontando con https://fedoraproject.org/keys e il certificato ssl di Fedora.

rpm --import https://fedoraproject.org/static/97A1071F.txt

Aggiorna tutti i pacchetti con il comando:

yum update yum
yum --releasever=14 distro-sync --skip-broken
  • Se stai utilizzando VirtualBox dal repository Oracle, devi disintallare il pacchetto VirtualBox-3.1 prima di avviare l'aggiornamento. Quando l'aggiornamento è completato, installa VirtualBox-3.2.

Fedora 12 -> Fedora 13

  • I test hanno mostrato che l'aggiornamento causa il blocco di X durante l'installazione del pacchetto bitmap-fonts-compat; l'aggiornamento può comunque essere eseguito avendo cura di lasciare per ultimo il pacchetto bitmap-fonts-compat... YMMV.
  • Le schede grafiche Intel non funzionano senza Kernel Mode Setting (KMS). E' necessario rimuovere il parametro 'nomodeset' dalla linea di comando per il kernel nel file /etc/grub.conf, se presente.
  • Le schede grafiche nVidia non funzionano senza Kernel Mode Setting (KMS). E' necessario rimuovere il parametro 'nomodeset' dalla linea di comando per il kernel nel file /etc/grub.conf, se presente.
  • Potrebbe essere necessario eseguire il comando db_recover -h /var/lib/ldap/ ; chown ldap:ldap /var/lib/ldap/* prima dell'avvio del demone slapd.

Fedora 11 -> Fedora 12

  • Tutti i pacchetti di Fedora 12 sono compressi mediante l'algoritmo XZ/LZMA, che risulta essere supportato solo dalla versione 4.7.1-1 (e successive) di rpm su Fedora 11. Prima di lanciare l'upgrade da Fedora 11, eseguire yum update rpm.
  • Non è possibile eseguire l'upgrade direttamente da Fedora 10 o precedenti mediante yum. Per aggiornare da Fedora 10, eseguire prima l'upgrade a Fedora 11, quindi lanciare l'upgrade da Fedora 11 a Fedora 12. Se si sta attualmente utilizzando un rilascio precedente a Fedora 10, usare uno dei metodi di upgrade ufficiali, oppure eseguire il backup dei propri dati, eseguire un'installazione fresca e infine ripristinare i dati dal backup.
  • E' possibile aggiornare direttamente da Fedora 11 a Rawhide, senza installare un nuovo pacchetto Package-x-generic-16.pngfedora-release mediante il comando yum --enablerepo=rawhide --skip-broken upgrade.
  • Gli upgrade da Fedora 11 potrebbero attualmente fallire per dipendenze mancanti (per esempio Package-x-generic-16.pngtotem-gstreamer o Package-x-generic-16.pngPolicyKit-kde). Le dipendeze in realtà sono corrette, ma Package-x-generic-16.pngyum in Fedora 11 incontra difficoltà nel determinarle (bug 519172).

Da versioni EOL di Fedora

Note.png
Aggiornare con Yum da versioni non supportate
La documentazione sull'aggiornamento da versioni meno recenti di Fedora è archiviato alla pagina Upgrading from EOL Fedora using yum/it