From Fedora Project Wiki
(80 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{autolang}}
{{autolang}}


Questa pagina descrive come eseguire un upgrade (avanzamento di versione) di Fedora usando {{command|yum}}.
{{admon/warning| L'aggiornamento via YUM descritto qui non è raccomandato per i nuovi utenti.  Usare [[FedUp/it]] invece }}


== Aggiornamento di Fedora usando direttamente yum ==
== Aggiornamento di Fedora usando direttamente yum ==


{{admon/warning| Aggiornamenti di versione senza usare anaconda - come il metodo yum descritto qui - non sono supportate ne raccomandate ! |
Per gli upgrade il metodo raccomandato prevede l'uso dello strumento chiamato [[FedUp/it]]. [[FedUp/it#Come_posso_aggiornare_il_mio_sistema_con_FedUp.3F|Questa sezione]] contiene istruzioni sull'uso di FedUp.


Il metodo d'installazione raccomandato è quello tramite media con l'installer Anaconda come riportato in [http://docs.fedoraproject.org/install-guide/ 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 [[QA|Fedora QA]] e non sono documentati nella [http://docs.fedoraproject.org/it_IT/Fedora/{{FedoraVersion}}/html/Installation_Guide/index.html guida d'installazione Fedora].  Se non sei preparato a risolvere i problemi autonomamente se dovessero apparire, probabilmente è meglio usare il metodo raccomandato.
 
Sebbene gli upgrade con yum funzionino, non sono esplicitamente testati come parte del processo dal [[QA|Fedora QA]] e non sono documentati nella [http://docs.fedoraproject.org/it_IT/Fedora/{{FedoraVersion}}/html/Installation_Guide/index.html 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, non si avranno aiuti da Anaconda, 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).
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.
L'aggiornamento live funziona bene con un'installazione tipica e se si seguono i consigli di seguito.
Line 38: Line 36:


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


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


E' buona norma operare l'upgrade al di fuori della modalità grafica. Disconnettersi per poi
E' buona norma operare l'upgrade al di fuori della modalità grafica. Disconnettersi per poi
==== fedora-upgrade ====
E' possibile usare lo script [https://github.com/xsuchy/fedora-upgrade fedora-upgrade] per automatizzare tutti i passaggi (usare {{command|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 ====
==== Usare una console testuale ====
Line 64: Line 68:
oppure
oppure


accedere come root e spostarsi in runlevel 3
accedere come root nella modalità ''multi-user.target''
<pre>
<pre>
# init 3
# systemctl isolate multi-user.target
</pre>
</pre>


Line 99: Line 103:
</pre>
</pre>


{{admon/warning| 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.
{{admon/warning| 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 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'.
'''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 ===
=== Assicurarsi che Fedora sia aggiornata ===
Line 111: Line 115:


<pre>
<pre>
# yum groupupdate Base
# yum groupupdate 'Minimal Install'
</pre>
</pre>


Line 123: Line 127:


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


Line 135: Line 137:
{{Anchor|bootloader}}
{{Anchor|bootloader}}


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


<pre>
<pre>
/sbin/grub-install BOOTDEVICE
/usr/sbin/grub2-install BOOTDEVICE
</pre>
</pre>
- dove BOOTDEVICE solitamente è <code>/dev/sda</code> ( se si ottiene errore allora '/dev/sda non ha un corrispondente dispositivo BIOS', allora provare <tt>/sbin/grub-install --recheck /dev/sda</tt>). Per Fedora 16 e successive, usare <code>/sbin/grub2-install</code> invece di <code>/sbin/grub-install</code>. Vedere [[#15-16|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 è
<pre>
cd /etc/rc.d/init.d; for f in *; do /sbin/chkconfig $f resetpriorities; done
</pre>
Ancora, avviare <code>package-cleanup --orphans</code> per trovare i pacchetti che non sono stati aggiornati.


== Note specifiche di versione ==
- dove BOOTDEVICE solitamente è <code>/dev/sda</code> ( se si ottiene errore allora '/dev/sda non ha un corrispondente dispositivo BIOS', allora provare <tt>/sbin/grub-install --recheck /dev/sda</tt>).


=== Dalla pre-release ===
Potrebbe essere necessario aggiornare il file di configurazione di Grub:
 
Se si sta aggiornando ad una versione finale da una alpha, da una beta, da una anteprima o da altre [[Releases/Rawhide|Rawhide]] versioni, si prega di vedere [[Upgrading from pre-release to final]] (Aggiornamento da una pre-release ad una finale).
 
=== A versioni di sviluppo ===


<pre>
<pre>
# yum update yum
cp --backup=numbered -a /boot/grub2/grub.cfg{,.bak} # crea una copia di backup
# yum --releasever=rawhide distro-sync --nogpgcheck
/usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg # aggiorna il file ''config''
</pre>
</pre>


{{Anchor|16-17}}
Inoltre, l'ordine degli script init potrebbe essere cambiato dalla versione precedente. Un comando per reimpostarlo è


=== Fedora 16 -> Fedora 17 ===
<pre> cd /etc/rc.d/init.d; for f in *; do /sbin/chkconfig $f resetpriorities; done </pre>


{{admon/warning|| Questo fa riferimento ad una versione non rilasciata di Fedora. Questi passaggi potrebbero cambiare prima del rilascio.}}
Ancora, avviare <code>package-cleanup --orphans</code> per trovare i pacchetti che non sono stati aggiornati.


Prima installare la chiave gpg per la nuova Fedora 17
== Note specifiche di versione ==


# rpm --import https://fedoraproject.org/static/1ACA3465.txt
=== Aggiornamento da una pre-release ===


Fedora 17 colloca l'intero sistema operativo in /usr. Le cartelle
Se si sta aggiornando ad una versione finale da una alpha, da una beta, da una anteprima o da altre [[Releases/Rawhide|Rawhide]] versioni, si prega di vedere [[Upgrading from pre-release to final]] (Aggiornamento da una pre-release ad una finale).
/bin, /sbin, /lib, /lib64 saranno solo dei link simbolici:
 
/bin → /usr/bin
/sbin → /usr/sbin
/lib → /usr/lib
/lib64 → /usr/lib64
Alcuni dei motivi 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 17 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 una /usr separata, un punto di montaggio separato, la logica di conversione del montaggio
di /usr nei NFS potrebbe non essere supportata; se /usr risiede in rete, si dovrebbe aggiungere l'opzione "rd.neednet=1" ed un'impostazione di rete come "ip=dhcp"
nella riga kernel.
/usr su iSCSI, FCoE, NBD sono suportati, fino a quando “netroot=...” è specificato nella riga di comando kernel per questi dischi (vedere man dracut.kernel(7)).
 
Se si ha /usr in un LVM, MD raid or DM raid, assicurarsi che la riga kernel contenga un'impostazione come "rd.lvm.lv=..." (in modo che /usr sia accessibile in dracut)
o che vengano rimosse le restrizioni come "rd.lvm...", "rd.md...", "rd.dm...". In entrambi i casi servirebbe Anaconda per aggiornare se si hanno esperienze passate
con un /usr separato.
 
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 update dracut
 
Bisogna avere almeno [https://admin.fedoraproject.org/updates/dracut-009-15.fc15 dracut-009-15.fc15] per Fedora 15 o [https://admin.fedoraproject.org/updates/dracut-013-22.fc16 dracut-013-22.fc16] per Fedora 16.
 
Rimuovere tutte le impostazioni "hostonly" in /etc/dracut.conf*, se abilitate precedentemente.
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 il sistema ha un /usr split-off, un separato punto di montaggio, e non si conosce il parametro kernel da aggiungere, si può anche provare (dracut proverà a generarli automaticamente):
# dracut -H --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.
 
{{admon/warning||<code>dracut</code> aggiornerà initramfs per i kernel avviati. Assicurarsi che nessun kernel sia stato installato dall'ultimo avvìo e che realmente si utilizzerà il initramfs aggiornato.}}
 
Cambiare il seguente parametro kernel direttamente nel menu del bootloader che è mostrato
durante il boot o editare la linea nel <code>/etc/grub*.cfg</code> per rimuovere ''ro'' e ''rhgb'' ed aggiungere <code>rw rd.info rd.convertfs enforcing=0</code>
 
Spiegazione delle opzioni:
 
- rimuovere “ro” (sola lettura - read only)
- aggiungere “rw” (scrittura lettura - read write) lasciare che dracut 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~ residenti in /usr/lib, /usr/lib64,
/usr/bin and /usr/sbin.
 
Verificare che dracut abbia effettivamente completato la conversione. I messaggi di log generati da dracut possono essere richiamati 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 update rpm
# rm -f /var/lib/rpm/__*
# rpm --rebuilddb
# 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
{{Anchor|Rawhide}}
in /usr.


{{Anchor|15-16}}
=== Aggiornamento ad una rawhide ===


=== Fedora 15 -> Fedora 16 ===
{{admon/warning| Rawhide è il ramo di sviluppo di Fedora. E' pensato per essere utilizzato da sviluppatori e tester per fornire feedback al Fedora Project.}}


Prima installare la nuova chiave gpg Fedora 16. Verificare il pacchetto in https://fedoraproject.org/keys ed il certificato ssl Fedora.
Vedere la pagina [[Releases/Rawhide|Rawhide]] per maggiori informazioni sulla Rawhide.


<pre>
<pre>
# rpm --import https://fedoraproject.org/static/A82BA4B7.txt
## Fedora 20
</pre>
# yum install fedora-release-rawhide yum-utils


Poi avviare {{command|chkconfig --list}} e annotare i servizi avviati; sarà necessario riabilitarli con  {{command|systemctl enable ''xxxxx''.service}} dopo il riavvìo; siccome le impostazioni {{package|sysvinit}} non verranno ereditate in {{package|systemd}}. Vedere [http://fedoraproject.org/wiki/Common_F16_bugs#Upgrade_from_previous_releases_resets_the_enablement_status_of_services note di rilascio] per maggiori dettagli.
## Oppure


Aggiornare tutti i pacchetti con
## Fedora 21+
# yum install fedora-repos-rawhide yum-utils


<pre>
## Qualsiasi Fedora
# yum-config-manager --disable fedora updates updates-testing
# yum-config-manager --enable rawhide
# yum update yum
# yum update yum
# yum clean all
# yum --releasever=rawhide distro-sync --nogpgcheck
# yum --releasever=16 --disableplugin=presto distro-sync
 
## Opzionale: è generalmente consigliabile fare un ''autorelabel'' (rietichettatura) con SELinux e riavviare.
# touch /.autorelabel
</pre>
</pre>


{{admon/warning| Cambio Bootloader| Dopo l'upgrade si avranno installati {{package|grub2}} e {{package|grub-efi}} e rimosso {{package|grub}}. Tuttavia Grub dovrebbe ancora essere presente nell'MBR e l'avvìo sarà ancora possibile. E' possibile seguire le istruzioni di seguito per il cambio a Grub2. Se installato, {{package|firstaidkit-plugin-grub}} potrebbe impedire l'upgrade; in caso è sufficiente rimuoverlo.}}
Se si sta aggiornardo da una {{FedoraVersion|21}} o superiore, rimpiazzare il primo comando con {{command|yum install fedora-repos-rawhide yum-utils}}.


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 {{command|su -c '/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg'}}, poi procedere come descritto [[#6._Preparing_for_reboot|sopra]] con la reinstallazione del bootloader, usare poi {{command|grub2-install /dev/XXX}} invece di {{command| grub-install /dev/XXX}}.
{{Anchor|20-21}}


Annotare i problemi specifici dell'upgrade (per problemi comuni far riferimento a quanto detto sopra)
=== Fedora 21 -> Fedora 22 (non ancora rilasciata) ===


* Bug [https://bugzilla.redhat.com/show_bug.cgi?id=743022 743022] - F15->F16 aggiornamenti yum non riusciti con IMSM (BIOS) raid
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-22-$(uname -i)
# yum update yum
# yum clean all
# yum --releasever=22 distro-sync


{{Anchor|14-15}}
=== Fedora 20 -> Fedora 21 ===


=== Fedora 14 -> Fedora 15 ===
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-21-$(uname -i)
# yum update yum
# yum clean all
# yum --releasever=21 distro-sync


Prima installare la nuova chiave gpg Fedora 15. Verificare questo pacchetto in https://fedoraproject.org/keys ed il certificato ssl Fedora.
Fedora 21 è divisa in prodotti differenti. Eseguire '''uno solo''' di questi comandi:


<pre>
# yum install system-release-workstation
# rpm --import https://fedoraproject.org/static/069C8460.txt
# yum install system-release-cloud
</pre>
# yum install system-release-server


Aggiornare tutti i pacchetti con
o quello non rivolto ad alcun dei tre precedenti


<pre>
# yum install system-release-nonproduct
# yum update yum
# yum clean all
# yum --releasever=15 --disableplugin=presto distro-sync
</pre>


* Non avviare all'interno di un terminale X. Test dimostrano che X potrebbe bloccarsi durante l'aggiornamento di pacchetti di font bitmap.
E' possibile modificare il prodotto precedentemente installato con
* Esistono i .drpms ma non corrispondono a causa di una cambio di formato, quindi è meglio disabilitare il plugin presto aggiungendo l'opzione  "--disableplugin=presto" (senza virgolette) quando si avvìa yum.
* Lo <code>screen</code> F15 non è collegabile a quello di sessione F14. Quindi se si vuole aggiornare a schermo, o si dovrebbe aggiornare prima lo  <code>screen</code> come operazione separata o fare una copia dello <code>screen</code> da utilizzare durante tutto il processo.
* mysql 5.5.20 distribuito per F15 usa InnoDB come motore di memorizzazione predefinito (default storage engine) . Dopo l'upgrade mysqld può non partire con l'errore ''Unknown/unsupported storage engine: InnoDB'' se impostato con ''skip-innodb'' nella riga di comando o nel file di configurazione ''/etc/my.cnf''. Soluzioni alternative prevedono di eliminare la linea (InnoDB partirà come motore predefinito) oppure aggiungere l'opzione ''default-storage-engine'' impostando altri motori di memorizzazione (storage engine).


==== VirtualBox guest upgrade ====
# yum swap system-release-cloud system-release-workstation


I passaggi riportati sopra funzionano perfettamente negli upgrade di guest Fedora 14 a Fedora 15, ma è anche necessario rimuovere i Guest Additions. Se ci si dimentica, gli upgrade F14 --> F15 sembreranno fallire dopo il primo riavvìo. Se accade, loggarsi nella console con CTRL+ALT+F2 e reinstallare i guest additions manualmente:
Cambiare in ''workstation'' a volte potrebbe richiedere di usare {{command|yum shell}} in quanto alcuni pacchetti possono essere scambiati.


<pre>
Qualcuno ha segnalato (e.g. bugs 1035326, 1044184, 1002331) che dopo gli upgrade alcuni file erano segnati male da SELinux. Si raccomanda quindi di avviare:
# mount /dev/cdrom /media
## se /dev/cdrom non esiste, provare:
# mount /dev/sr0 /media
# /bin/sh /media/VBoxLinuxAdditions.run
# reboot
</pre>
 
{{Anchor|13-14}}
 
=== Fedora 13 -> Fedora 14 ===
 
Prima installare la nuova chiave gpg per Fedora 14. Verificare il pacchetto con https://fedoraproject.org/keys ed il certificato ssl di Fedora.
 
<pre>
# rpm --import https://fedoraproject.org/static/97A1071F.txt
</pre>
 
Aggiornare tutti i pacchetti con
 
<pre>
# yum update yum
# yum clean all
# yum --releasever=14 distro-sync
</pre>


* Se si usa VirtualBox dai repository Oracle, bisogna rimuovere il pacchetto VirtualBox-3.1 prima dell'upgrade. Al termine dell'upgrade installare VirtualBox-3.2 .
  # restorecon -R /


Se si usa SeLinux, si potrebbe essere esclusi dall'utilizzo della macchina e servirà l'avvìo in modalità ''single user'' per fissare il problema. [[rhbug:702865|Redhat bug 702865]] descrive la risoluzione:
{{Anchor|19-20}}


<ol>
<li><code>setenforce 0</code>
<li><code>yum remove selinux-policy selinux-policy-targeted</code>
<li><code>rm -rf /etc/selinux/targeted</code>
</ol>


Se dopo l'upgrade si rivuole SeLinux attivo:
=== Fedora 19 -> Fedora 20 ===


<ol>
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-20-$(uname -i)
<li><code>yum install selinux-policy selinux-policy-targeted</code>
# yum update yum
<li><code>fixfiles restore</code>
# yum clean all
<li><code>reboot</code>
# yum --releasever=20 --setopt=deltarpm=0 distro-sync
</ol>


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

Revision as of 14:27, 9 May 2015

Warning.png
L'aggiornamento via YUM descritto qui non è raccomandato per i nuovi utenti. Usare FedUp/it invece

Aggiornamento di Fedora usando direttamente yum

Per gli upgrade il metodo raccomandato prevede l'uso dello strumento chiamato FedUp/it. Questa sezione contiene istruzioni sull'uso di FedUp.

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

Idea.png
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.

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 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

Warning.png
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
Warning.png
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

Warning.png
Rawhide è il ramo di sviluppo di Fedora. E' pensato per essere utilizzato da sviluppatori e tester per fornire feedback al Fedora Project.

Vedere la pagina Rawhide per maggiori informazioni sulla Rawhide.

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

## Oppure

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

## Qualsiasi 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 39 o superiore, rimpiazzare il primo comando con yum install fedora-repos-rawhide yum-utils.


Fedora 21 -> Fedora 22 (non ancora rilasciata)

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-22-$(uname -i)
# yum update yum
# yum clean all
# yum --releasever=22 distro-sync

Fedora 20 -> Fedora 21

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-21-$(uname -i)
# yum update yum
# yum clean all
# yum --releasever=21 distro-sync

Fedora 21 è divisa in prodotti differenti. Eseguire uno solo di questi comandi:

# yum install system-release-workstation
# yum install system-release-cloud
# yum install system-release-server

o quello non rivolto ad alcun dei tre precedenti

# yum install system-release-nonproduct

E' possibile modificare il prodotto precedentemente installato con

# yum swap system-release-cloud system-release-workstation

Cambiare in workstation a volte potrebbe richiedere di usare yum shell in quanto alcuni pacchetti possono essere scambiati.

Qualcuno ha segnalato (e.g. bugs 1035326, 1044184, 1002331) che dopo gli upgrade alcuni file erano segnati male da SELinux. Si raccomanda quindi di avviare:

 # restorecon -R /


Fedora 19 -> Fedora 20

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-20-$(uname -i)
# yum update yum
# yum clean all
# yum --releasever=20 --setopt=deltarpm=0 distro-sync

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

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