From Fedora Project Wiki

Aggiornare il sistema con Yum

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

Raccomandazioni

Il metodo di installazione raccomandato è quello mediante un supporto di boot contenente il programma Anaconda, come specificato nella guida all'installazione. PreUpgrade è un metodo di aggiornamento leggermente differente, attraverso cui tutti i pacchetti sono pre-scaricati prima che il sistema venga riavviato per l'esecuzione del programma di installazione Anaconda.

Eseguire aggiornamenti diretti con yum

Sebbene gli aggiornamenti mediante yum siano stati testati e funzionano, gli aggiornamenti live non sono consigliati dal Fedora Project. Se non sei preparato ad affrontare e risolvere problemi per conto tuo se qualcosa va storto, dovresti preferibilmente utilizzare uno dei metodi di installazioni consigliati.

Quando si esegue un aggiornamento con yum, non si ottiene alcun aiuto dal programma di installazione Anaconda, ma con un po' di fortuna è possibile aggiornare sistemi - anche da remoto via ssh - senza aggravare il downtime. Tuttavia il sistema deve essere comunque riavviato per far si che vengano eseguiti il nuovo kernel e le librerie di sistema aggiornate, quindi al momento non è possibile azzerare completamente il tempo di fermo macchina. Il riavvio dopo un aggiornamento di questo tipo è sempre molto eccitante!

Disponendo di un'installazione tipica e seguendo i consigli qui riportati, l'aggiornamento live con yum si comporta correttamente nella stragrande maggioranza dei casi.

Nota del traduttore
Gli aggiornamenti di sistema live da versioni di Fedora EOL (End-Of-Life) sono sconsigliati; leggi la pagina ciclo di vita per avere maggiori dettagli sulla politica di supporto alle versioni di Fedora. Quando una versione viene messa fuori manutenzione, molto spesso i mirror rimuovono i file dei repositori, e i repositori ufficiali vengono spostati in [1]; se desideri comunque tentare un aggiornamento da un rilascio EOL di Fedora, dopo aver letto le istruzioni di qeusta guida consulta i consigli riportati nella pagina specifica.

Come partecipare

Se stai eseguendo un upgrade usando Yum e riscontri un problema generale di dipendenze, lo puoi segnalare su http://bugzilla.redhat.com, ma prima leggi sia questa pagina sia tutte quelle linkate e cerca negli archivi della mailing list, per assicurarti che non sia un problema già conosciuto. E ovviamente, aiutaci a mantenere questa pagina aggiornata.

Se desideri aiutare nello sforzo di rendere gli aggiornamenti live sempre più funzionali, entra a far parte del SIGs/LiveUpgrade Live Upgrade Special Interest Group.

Istruzioni per l'aggiornamento usando yum

1. Backup del sistema

Esegui il backup di tutti i dati personali su un disco esterno o un altro computer. Se si verificherà un errore irrecuperabile, tale da richiedere un'installazione fresca, non perderai i tuoi 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. Dovresti inoltre leggere la guida all'installazione e le note di rilascio della versione verso cui intendi eseguire l'aggiornamento - questi documenti contengono importanti informazioni riguardo i problemi di aggiornamento. Infine, controlla l'elenco dei bug conosciuti).

3. Fai pulizia

Verifica ed elimina tutti i file .rpmsave e .rpmnew prima e dopo l'aggiornamento. (E se è abilitato selinux, ricorda di controllare il contesto di sicurezza se hai spostato file di configurazione in giro.)

Trovare i file di configurazione inutilizzati
Effettua il merge e risolvi le modifiche determinate dallo script seguente: for a in $(find /etc /var -name '*.rpm?*'); do diff -u $a ${a%.rpm?*}; done.

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

Trovare e verificare i pacchetti "inutilizzati"
Puoi determinare i pacchetti che non sono necessari per nessun altro pacchetto con il programma package-cleanup contenuto nel pacchetto yum-utils: yum install yum-utils; package-cleanup --leaves. Questi pacchetti sono ottimi candidati per la rimozione, ma prima verifica di non usarli direttamente o che non siano utilizzati da altre applicazioni non contenute in pacchetti rpm. Eliminali con il comando rpm -e nome-pacchetto-e-versione. Un altro strumento di aiuto per la pulizia dei pacchetti non utilizzati è rpmreaper. Si tratta di un'applicazione ncurses che permette di visualizzare graficamente le dipendenze tra pacchetti rpm e selezionare quelli desiderati per la rimozione. Contrassegnare un pacchetto potrebbe rendere a loro volta foglia altri pacchetti, ma essendo questi visualizzati immediatamente, non c'è bisogno di eseguire l'applicazione ripetutamente per disfarsi dell'intero albero di pacchetti non utilizzati. Per installare rpmreaper: yum install rpmreaper.
Trovare e verificare i pacchetti "perduti"
Puoi determinare i pacchetti orfani (cioè non più ospitati in nessun repositorio) con il comando: package-cleanup --orphans. Questo mostra inoltre i pacchetti che sono stati solo parzialmente disinstallati perchè sono incorsi in un errore durante l'esecuzione dello script "%postun" del pacchetto rpm.

Quindi elimina tutte le tracce della versione di Fedora di partenza dalla cache di yum, contenuta nella directory /var/cache/yum.

yum clean all

4. Lancia l'aggiornamento

Se accedi a repositori di terze parti, allora configurali perchè yum usi quelli specifici per la nuova versione di Fedora. Quando aggiorni da una versione di Fedora ad un'altra, spesso non c'è niente di necessario da fare; se invece aggiorni verso rawhide, molto spesso è necessario installare la versione rawhide degli rpm che impostano i repositori di terze parti.

Nota che probabilmente l'aggiornamento fallirà se ci sono dipendenze piuttosto datate derivanti da pacchetti non più presenti sui repositori, o per cui il repositorio ospitante non risulta pronto per la nuova versione di Fedora. Se selinux è configurato, assicurati che sia impostato in modalità permissive - né disabilitato nè enforcing.

Eseguire l'aggiornamento fuori dalla modalità grafica è una buona idea. Disconnetti il tuo utente dal desktop grafico e accedi ad una console testuale:

ctrl + alt + F2

fai login come root, e passa al runlevel 3:

telinit 3
Quando un processo di aggiornamento live è iniziato, non lo interrompere riavviando, facendo kill del processo o mediante nessun altro metodo finchè non è completato, altrimenti il sistema si ritroverà in uno stato inconsistente. Parzialmente costituito dal vecchio rilascio e parzialmente dal nuovo. In questo stato il sistema non sarà stabile e non opererà correttamente. Quando ciò accade, l'unico modo per recuperare la situazione è iniziare una nuova installazione.
Aggiornare i pacchetti importanti per primi
È possibile cercare di aggiornare gli strumenti di gestione pacchetti per primi con il comando yum update rpm\* yum\*. Un'altra idea è inizare l'aggiornamento con glibc. In entrambi i casi la risoluzione delle dipendenze potrebbe comunque espandere la lista dei pacchetti da aggiornare ad un aggiornamento quasi completo. D'altra parte, un aggiiornamento completo potrebbe essere più sicuro. I risultati saranno diversi da caso a caso. (In particulare, non aggiornare rpm e yum separatamente se il sistema da aggiornare deve passare tra diverse versioni di python, per esempio da 2.4 a 2.5.)
Aggiornamento da versioni EOL
Nelle versioni meno recenti di yum, il comando distro-sync non è disponibile; in questo caso devi eseguire i passi seguenti.

Aggiorna i pacchetti che determinano quali repositori vengono utilizzati da yum.

rpm -Uhv ftp://download.fedora.redhat.com/pub/fedora/linux/releases/<ReleaseNumber>/Fedora/<Arch>/os/Packages/fedora-release-*.noarch.rpm

(L'architettura non importa poichè questo è un pacchetto noarch.) Nota: Alcuni utenti hanno riportato che il tentativo di scaricamento attraverso il comando rpm fallisce con errore di risposta 550 e messaggio "trasferimento fallito". Se si riscontra questo problema, è necessario scaricare in locale i file rpm prima di installarli. Per esempio:

wget ftp://download.fedora.redhat.com/pub/fedora/linux/releases/<ReleaseNumber>/Fedora/<Arch>/os/Packages/fedora-release-*.noarch.rpm
rpm -Uvh fedora-release-*.noarch.rpm

Assicurati che i file dei nuovi repositori non siano salvati come .rpmnew, per esempio:

mv /etc/yum.repos.d/fedora-updates.repo.rpmnew /etc/yum.repos.d/fedora-updates.repo
mv /etc/yum.repos.d/fedora.repo.rpmnew /etc/yum.repos.d/fedora.repo

Aggiorna tutti i pacchetti con il comando (da utilizzare al posto di yum distro-sync):

yum upgrade

Prima di tutto installa la nuova chiave gpg di Fedora 14. Potresti voler verificare la correttezza di questo pacchetto consultando https://fedoraproject.org/keys e il certificato ssl di fedora.

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

Quindi aggiorna tutti i pacchetti con i comandi:

yum update yum
yum --releasever=14 distro-sync --skip-broken

Il procedimento si prenderà cura anche degli aggiornamenti di pacchetti provenienti dai repository abilitati di terze parti. E' possibile verificare i repository considerati eseguendo

 yum repolist 

quando il processo di aggiornamento è completato. yum potrebbe lamentarsi circa conflitti tra pacchetti o requisiti mancanti. Ciò dipende probabilmente dal fatto che sono in uso repositori non standard o sono stati installati pacchetti non standard manualmente. Prova a determinare quali pacchetti causano il problema (o almeno che fanno parte della catena di dipendenze) - disinstallali e riprova. Ricorda di installare quei pacchetti nuovamente dopo l'aggiornamento, se sono essenziali.

Assicurati che tutti i (nuovi) pacchetti essenziali della nuova versione siano installati con:

yum groupupdate Base

Potresti voler aggiornare anche altri gruppi; per l'elenco dei gruppi esegui:

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"

5. Preparare il riavvio

Prima di riavviare dovresti normalmente installare il bootloader della nuova versione di grub, eseguendo:

/sbin/grub-install BOOTDEVICE

- dove BOOTDEVICE è di solito /dev/sda (Se riscontri l'errore /dev/sda does not have any corresponding BIOS drive come output del comando, allora prova /sbin/grub-install --recheck /dev/sda.)

Inoltre, l'ordine degli script di init potrebbe essere stato modificato dalla versione precedente. Un comando per resettare l'ordine è:

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

Esegui nuovamente package-cleanup --orphans per determinare i pacchetti che non sono stati aggiornati.

Note specifiche di versione

Da un prerilascio

Se si sta eseguendo un aggiornamento da una versione alpha, beta, preview o da un altro rilascio Rawhide, fare riferimento alla pagina Upgrading from pre-release to final.

Verso la versione di sviluppo

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

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 fedora-release mediante il comando yum --enablerepo=rawhide --skip-broken upgrade.
  • Gli upgrade da Fedora 11 potrebbero attualmente fallire per dipendenze mancanti (per esempio totem-gstreamer o PolicyKit-kde). Le dipendeze in realtà sono corrette, ma yum in Fedora 11 incontra difficoltà nel determinarle (bug 519172).

Da versioni EOL di Fedora

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