From Fedora Project Wiki

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

Aggiornamento di Fedora usando direttamente yum

Aggiornamenti di versione senza usare anaconda - come il metodo yum descritto qui - non sono raccomandati per gli utenti; usare invece FedUp
Per gli upgrade il metodo raccomandato prevede l'uso dello strumento chiamato FedUp. Questa sezione contiene istruzioni su come procedere. 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 sei preparato a risolvere i problemi autonomamente se dovessero apparire, probabilmente è meglio usare il metodo raccomandato.

Quando si fa un upgrade con yum o FedUp, non si avranno aiuti dagli stessi Anaconda o FedUp, ma con un sistema tipico si potrebbe 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 di 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 Common bugs (bug conosciuti).

3. Fare 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.)

Effettuare il merge e risolvere le modifiche determinate dallo script seguente: yum install rpmconf; rpmconf -a. Ora trovare e rimuovere le vecchie configurazioni che non appartengono a nessuno: find /etc /var -name '*?.rpm?*'

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

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.
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 da pacchetti non pronti per la nuova versione.

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

fedora-upgrade

E' possibile usare lo script fedora-upgrade per automatizzare tutti i passaggi (usare yum install fedora-upgrade). Come per il metodo manuale, non è raccomandato come metodo d'aggiornamento da Fedora.

In alternativa, effettuare i passaggi manualmente:

Usare una console testuale

ctrl + alt + F2

oppure

accedere come root nella modalità multi-user.target

# systemctl isolate multi-user.target

Aggiornare yum all'ultima versione disponibile

# yum update yum

Installare le nuove chiavi gpg per la versione Fedora alla quale aggiornare

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/cache/yum.

# yum clean all

Upgrade di tutti i pacchetti

Una volta iniziato l'upgrade live, non cercare di bloccarlo con un riavvìo, con 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
Se si riscontrano problemi con le dipendenze si è soli e bisogna risolverli manualmente. Se non si è capaci, usare il preupgrade.

Note: Nonostante sia raccomandato fare upgrade a versioni intermedie, se si aggiorna da versioni vecchie (ad esempio da Fedora 19 a 20, poi da 20 a 21), 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 'Minimal Install'

Verficare anche gli altri gruppi

# yum grouplist

Per esempio

# yum groupupdate "GNOME Desktop" \
  "Development Tools" "Sound and Video" \
  "Games and Entertainment" "Administration Tools" \
  "Office/Productivity" "System Tools"

Preparazione al riavvìo

Prima di riavviare, di solito si installa il bootloader dal nuovo Grub con

/usr/sbin/grub2-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).

Potrebbe essere necessario aggiornare il file di configurazione di Grub:

cp --backup=numbered -a /boot/grub2/grub.cfg{,.bak} # crea una copia di backup
/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg # aggiorna il file ''config''

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

 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

Aggiornamento da una 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 Upgrading from pre-release to final (Aggiornamento da una pre-release ad una finale).

Aggiornamento ad una rawhide

## Fedora 20
# yum install fedora-release-rawhide yum-utils

## Or

## Fedora 21+
# yum install fedora-repos-rawhide yum-utils

## All Fedora
# yum-config-manager --disable fedora updates updates-testing
# yum-config-manager --enable rawhide
# yum update yum
# yum --releasever=rawhide distro-sync --nogpgcheck

## Opzionale: è generalmente consigliabile fare un ''autorelabel'' (rietichettatura) con SELinux e riavviare.
# touch /.autorelabel

Se si sta aggiornardo da una 41 o superiore, rimpiazzare il primo comando con yum install fedora-repos-rawhide yum-utils.


A Fedora 21 pre-release

  1. rpm --import https://fedoraproject.org/static/95A43F54.txt
  2. yum update yum
  3. yum clean all
  4. yum --releasever=21 distro-sync --nogpgcheck

Fedora 19 -> Fedora 20

Installare la nuova chiave gpg per Fedora 20 ed aggiornare:

  1. rpm --import https://fedoraproject.org/static/246110C1.txt
  2. yum update yum
  3. yum clean all
  4. yum --releasever=20 distro-sync

Fedora 18 -> Fedora 19

Incompatibilità tra le strutture gerarchiche dei cgroups di systemd
systemd in F19 dispone i propri cgroups differentemente rispetto alle precedenti versioni di Fedora.

La nuova gerarchia ha nuovi vantaggi, ma è incompatibile con quella vecchia. Non verrà effettuata alcuna conversione live durante l'aggiornamento a Fedora 19, così il vecchio systemd non riconoscerà la nuova disposizione dei cgroups. Questo interessa il tracciamento delle sessioni utente di systemd-logind (bug #962983).

Ci si aspetta quindi una "rottura" nelle sessioni utente attive, assicurarsi perciò di riavviare subito dopo l'operazione di aggiornamento.


Installare la nuova chiave gpg Fedora 19 ed aggiornare:

# rpm --import https://fedoraproject.org/static/FB4B18E6.txt
# yum update yum
# yum clean all
# yum --releasever=19 distro-sync

Se invece si usa Fedora ARM:

# rpm --import https://fedoraproject.org/static/BA094068.txt
# yum update yum
# yum clean all
# yum --releasever=19 distro-sync

Fedora 17 -> Fedora 18

Metodo di upgrade raccomandato (Fedora 17 e recenti)
L'aggiornamento con FedUp è il metodo raccomandato per aggiornare il proprio sistema:Come posso aggiornare il mio sistema con FedUp?

Nota: Un utente ha riportato problemi con un'installazione su Intel Mac UEFI, inclusa la migrazione manuale del bootloader. Leggi

Prima di tutto installare la nuova chiave gpg Fedora 18

  1. rpm --import https://fedoraproject.org/static/DE7F38BD.txt
  2. Se si usa SELinux in modalità Enforcing, assicurarsi di aver aggiornato il pacchetto selinux-policy
  3. Aggiornare tutti i pacchetti:
    1. su -c 'yum update yum'
    2. su -c 'yum clean all'
    3. su -c 'yum --releasever=18 --disableplugin=presto distro-sync'
  4. Ricostruire il database rpm: su -c 'rpm --rebuilddb', necessario altrimenti rpm -qa non funzionerà a causa dell'upgrade del pacchetto rpm appunto.


Se non si aggiorna selinux-policy, si possono avere molti errori segnalati da yum nel momento in cui molti dei pacchetti tentano di creare utenti o gruppi; dopo l'aggiornamento si presenterebbero dei problemi, inclusi quelli legati al login via GDM (apparirebbe il solo cursore) e/o la richiesta dei privilegi dell'amministratore per fare certe operazioni. Tutto questo dipende dal bug #844167. Se si incontra questo problema serve una reinstallazione dei pacchetti coinvolti con su -c 'yum reinstall (packagenames)' ed il riavvìo. Tra i pacchetti affetti ci sono libvirt-daemon e polkit: su -c 'yum reinstall libvirt-daemon polkit'

A causa di Features/DisplayManagerRework, l'upgrade potrebbe lasciare disabilitato il display manager. Per risolvere il problema, usare su -c 'systemctl enable yourdm.service', rimpiazzando yourdm con il proprio display manager, ad esempio gdm o kdm.

Upgrade da una Fedora ufficialmente in Fine Vita (End Of Life EOL)

Upgrade con yum da versioni più datate
Gli aggiornamenti dalle versioni più vecchie di Fedora sono archiviati in Upgrading from EOL Fedora using yum