From Fedora Project Wiki
Nota
Questa pagina non è ancora completamente tradotta.
This page is not completely translated yet.
Considerazioni per la sicurezza
FedUp non assicura ancora che venga avviato solo software sicuro da Fedora sul proprio sistema quando si effettua un upgrade da rete. Far riferimento al Bug: #877623 per maggiori dettagli. E' possibile scaricare le immagini ISO e verificarne l'autenticità indipendentemente prima dell'upgrade con Fedup tramite media o tramite immagini per risolvere questi problemi; comunque l'upgrade da rete è ancora l'opzione raccomandata visto che permette una migliore gestione dei pacchetti. Si noti che ne Anaconda ne il PreUpgrade verificano l'autenticità della fonte.

Cos'é FedUp ?

FedUp (FEDora UPgrader) è il nome del nuovo sistema d'aggiornamento (upgrade) delle installazioni Fedora a partire da Fedora 18 Spherical Cow. Rimpiazza tutti gli attuali metodi raccomandati di upgrade (PreUpgrade e DVD) che sono stati usati nei rilasci precedenti a Fedora 18. Anaconda, l'installer di Fedora non ha alcuna funzionalità d'aggiornamento integrata fino a Fedora 18, tale funzionalità è stata delegata completamente a Fedup.

Ad oggi, FedUp è in grado di aggiornare installazioni di Fedora 17 Beefy Miracle a Fedora 18 Spherical Cow usando un repository di rete con un funzionamento simile a PreUpgrade. Molti metodi d'aggiornamento sono attualmente in pianificazione e, a tal proposito, questa pagina verrà aggiornata seguendone gli sviluppi.

Fedora 16 e precedenti
Il client FedUp non costruisce od avvia nulla di più vecchio di Fedora 17. Se si vuole aggiornare partendo da un rilascio più vecchio di Fedora 17, si prega di seguire le istruzioni per l'upgrade a Fedora 17 prima di continuare.

Cosa fa FedUp ?

FedUp consiste in due parti: il client usato per scaricare i pacchetti e per la preparazione all'upgrade ed un ambiente di pre-avvio che effettua l'attuale aggiornamento usando systemd e yum. Maggiori dettagli sono disponibili in un articolo sul blog del principale autore di FedUp

Il Client FedUp

Il Client di FedUp parte nel sistema che deve essere aggiornato. Raccoglie i pacchetti necessari per l'aggiornamento oltre a scaricare gli initramfs del kernel richiesti e necessari per l'aggiornamento vero e proprio. In questo momento è implementata la sola interfaccia a riga di comando di fedup ma ci si aspetta un'interfaccia GUI prima del rilascio di Fedora 18.

L'Upgrade

L'aggiornamento attuale ha luogo quando il sistema viene riavviato dopo l'esecuzione del client fedup. I filesystem sono montati durante l'avvio, i pacchetti già scaricati vengono installati ed alcune attività relative all'aggiornamento vengono eseguite. Durante il processo di aggiornamento, un tema speciale plymouth è utilizzato per visualizzare una barra di avanzamento per indicare i progressi in corso.

Domande frequenti

Posso aggiornare un sistema Fedora 16 con FedUp ?

No, non è attualmente possibile. Il client FedUp non parte su Fedora 16 ma bisogna avviarlo necessariamente almeno in Fedora 17. Se si sta aggiornando da Fedora 16, usare Preupgrade.

Come posso riportare eventuali problemi trovati durante gli aggiornamenti ?

Innanzitutto leggere Common F18 bugs#Upgrade_issues per sapere se il problema è tra quelli conosciuti. Se non lo è, il componente principale del problema dipende dall'esatta questione che s'incontra:

Questioni nella preparazione all'aggiornamento

Per problemi del genere con il client FedUp (fedup) prima del riavvio, ricercare o riportare un bug in rapporto a fedup usando la versione di partenza dalla quale si aggiorna.

Questioni durante l'upgrade

Per i problemi incontrati dopo la preparazione ed al riavvio iniziale, ricercare o riportare un bug in rapporto a fedup-dracut usando la versione alla quale si sta aggiornando.

Questioni dopo l'upgrade

Per problemi con un pacchetto specifico, riportare un bug in rapporto al pacchetto stesso.

Come posso risolvere un problema durante l'upgrade ?

Una guida per la risoluzione ed il debug verrà presto redatta e collegata alla presente pagina wiki.

FedUp verifica il software che avvia od installa durante l'upgrade ?

Questa è una funzionalità in pianificazione. Vedere il Bug 877623 per aggiornamenti sul suo stato.

Dove posso chiedere ?

Per adesso, il posto migliore per fare domande è probabilmente il canale #fedora-qa[?] su Freenode IRC o la mailing list test.

Come posso aggiornare il mio sistema con FedUp?

Come accennato sopra, ci sono tre passaggi per aggiornare con FedUp - preparazione, esecuzione e pulizia.

Prma di iniziare qualsiasi operazione, assicurarsi di aver dato uno sguardo a Common F18 bugs#Upgrade_issues e letto qualcosa riguardo ai bug conosciuti.

Preparazione

Ultimo fedup
Assicurarsi di aver installato l'ultima versione del client fedup sul sistema da aggiornare. Ad oggi (2013-01-08), è fedup-0.7.2-1.fc17
  1. Fare un aggiornamento completo del sistema e riavviare per essere sicuri che qualsiasi modifica kernel sia stata effettuata
  2. Installare fedup
    • Assicurarsi di avere l'ultima versione, questo potrebbe implicare l'abilitazione del repository updates-testing (yum --enablerepo=updates-testing install fedup)

Ci sono tre opzioni per cercare i pacchetti necessari - usare un repository di rete, un file ISO locale od un dispositivo locale (hard drive, disco ottico, etc.).

L'aggiornamento da rete è fortemente raccomandato
E' fortemente raccomandato usare la rete invece delle modalità d'aggirnamento offline (ISO, dispositivo locale). L'aggiornamento online assicurerà di ricevere gli ultimissimi pacchetti da Fedora 18. In caso contrario, si potrebbe ottenere un mix di pacchetti Fedora 17 e 18 ed il sistema potrebbe non funzionare adeguatamente.

Rete

Usare una sorgente d'aggiornamento online è il metodo più facile, implica il richiamo dei pacchetti più aggiornati possibile eliminando potenziali intoppi quando il sistema dispone dell'ulitmissimo kernel.

  1. Iniziare la preparazione eseguendo il seguente comando
    • sudo fedup-cli --network 18 --debuglog fedupdebug.log
  2. Una volta completata, controllare il file fedupdebug.log per sapere se alcun errore è apparso da fedup-cli

File ISO

Per usare un file ISO, serve averlo localmente sul filesystem del sistema da aggiornare. La documentazione è scritta come se fosse /home/user/fedora-18.iso ma è necessario sostituire tutte le istanze di quel percorso con il percorso effettivo della ISO. Gli aggiornamenti verranno recuperati con l'accesso alla rete sulla macchina da aggiornare.

  1. Scaricare la ISO Fedora 41 appropriata per l'architettura in uso
    • Per esempio, presumiamo che la ISO sia /home/user/fedora-18.iso ma potrebbe essere ovunque nel filesystem.
  2. Iniziare la preparazione eseguendo il seguente comando come root
    • fedup-cli --iso /home/user/fedora-18.iso --debuglog=fedupdebug.log
  3. Una volta completata, controllare il file fedupdebug.log per sapere se alcun errore è apparso da fedup-cli

Altri dispositivi

Dispositivi ottici ed altro stoccaggio montabile possono anche essere utilizzati come fonte di pacchetti per le preparazioni.

  1. Montare la sorgente
    • Per esempio, supponiamo che tale sorgente sia montata in /mnt/fedora ma si potrebbe montarla ovunque indicandone l'esatta collocazione.
  2. Iniziare la preparazione eseguendo il seguente comando come root
    • fedup-cli --device /mnt/fedora --debuglog=fedupdebug.log
  3. Una volta completata, controllare il file fedupdebug.log per sapere se alcun errore è apparso da fedup-cli

Eseguire l'upgrade

Riferimento necessario
Questa sezione deve ancora riferimento al bug 'esc kills plymouth'
  1. Riavviare il sistema se fedup ha finito senza errori.
  2. Dopo il riavvio, ci dovrebbe essere una nuova voce nel menu GRUB titolata System Upgrade.
    • Se si aggiunge rd.upgrade.debugshell, si otterrà una shell di login su VT2, che permetterà di intervenire sul sistema in caso qualcosa andasse storto
  3. Selezionare l'opzione System Upgrade
  4. Il sistema dovrebbe avviare il processo di upgrade ed uno schermo plymouth dovrebbe apparire
    • Se si preme 'esc', verrà mostrato un log dettagliato del processo; se si torna indietro, rimarrà allo 0% per il resto dell'aggiornamento ma questo non significa che l'aggiornamento si è fermato.
  5. Una volta completato, il sistema si riavvierà ed apparirà un'opzione per l'avvio Fedora 41 nel menu di grub

Aggiornamenti di GRUB

Aggiornamenti necessari
Questa parte della documentazione è in aggiornamento.
Non sempre opzionale
Mentre l'aggiornamento di GRUB sul sistema aggiornato non è strettamente necessario, è invece raccomandato per i sistemi BIOS ed estremamente raccomandato per i sistemi UEFI a causa della transizione da grub-efi a grub2-efi

Aggiornare GRUB2 (sistemi BIOS)

  • Dopo l'upgrade, il boot loader grub2 in uso sarà ancora in versione F17; il suo aggiornamento deve essere fatto manualmente
  • Seguire i passaggi in questa pagina per reinstallare ed aggiornare grub

Aggiornare GRUB (sistemi UEFI)

Grub2 non viene installato come parte del processo di upgrade, quindi bisogna farlo manualmente:

sudo yum install grub2-efi

Migrating Grub Configuration

Unfortunately, most boot settings are not migrated to grub2 without manual intervention. To migrate these settings, you will need to look the existing grub configuration to migrate settings. Open the /boot/efi/EFI/redhat/grub.conf and find the most recent boot entry. The version numbers don't need to exactly match the example, just find the most recent one.

title Fedora (3.6.11-1.fc17.x86_64)
        root (hd0,2)
        kernel /vmlinuz-3.6.11-1.fc17.x86_64 rd.luks.uuid=luks-f664c3a9-e939-410e-8478-891f48b80f12
                rd.md=0 rd.dm=0  KEYTABLE=us SYSFONT=True rd.lvm.lv=vg_test/lv_root
                root=/dev/mapper/vg_test-lv_root ro rd.lvm.lv=vg_test/lv_swap
                LANG=en_US.UTF-8 rhgb quiet
        initrd /initramfs-3.6.11-1.fc17.x86_64.img

We are not interested in all of the arguments following kernel, mostly arguments which start with rd. and a few other specific arguments. In the example listed above, we're interested in:

rd.luks.uuid=luks-f664c3a9-e939-410e-8478-891f48b80f12
rd.md=0
rd.dm=0
rd.lvm.lv=vg_test/lv_root
root=/dev/mapper/vg_test-lv_root
ro
rd.lvm.lv=vg_test/lv_swap
rhgb
quiet


To migrate the configuration, open /etc/default/grub with sudo or as root and paste the following template in:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_RECOVERY="true"
GRUB_THEME="/boot/grub2/themes/system/theme.txt"
non-us keymaps and languages
Need to write docs on how to figure out the vconsole lang and keymap args

Take the kernel args that we extracted before and insert them inside the quotes following GRUB_CMDLINE_LINUX. In this example, it would look like the following. Note that formatting has been slightly altered for the wiki - there should be no newlines in the text following GRUB_CMDLINE_LINUX.

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_CMDLINE_LINUX="rd.luks.uuid=luks-f664c3a9-e939-410e-8478-891f48b80f12
rd.md=0 rd.dm=0 rd.lvm.lv=vg_test/lv_root root=/dev/mapper/vg_test-lv_root
ro rd.lvm.lv=vg_test/lv_swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_THEME="/boot/grub2/themes/system/theme.txt"

Now that we've migrated the required grub settings, we can wrap up by generating a new grub configuration using these new settings and symlinking this new configuration to /etc/grub2-efi.cfg.

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
ln -s /boot/efi/EFI/fedora/grub.cfg /etc/grub2-efi.cfg

Updating the EFI boot entry

Once the grub2-efi package is installed, we need to add a new EFI boot entry. The easiest way to do this is to just modify the command used when Fedora was first installed. Note that you will not be using the exact same command when upgrading to grub2 as the location of some files has changed. The older reference command can be found in /var/log/anaconda/anaconda.program.log and should end with a command similar to:

efibootmgr -c -w -L Fedora -d /dev/sdX -p Y -l \EFI\redhat\grub.efi

Find the current boot number for fedora using efibootmgr:

efibootmgr -v

You are looking for a line similar to:

Boot0004* Fedora  HD(1,800,34800,6733749f-b42a-4b8c-a0de-5a1d3505f8af)File(\EFI\redhat\grub.efi)

The boot number in this example is 0004.

Remove the old boot entry using the following command, note that <boot number> is the boot number you found above:

efibootmgr -b <boot number> -B
Using Quotes
Make sure you put quotes around '\EFI\fedora\grubx64.efi' or bash will interpret \E, \f and \g as control characters and your system will not boot properly

Once you have the command that was used and the boot number of the old boot entry, you can change it to use the new grub2-efi installation:

sudo efibootmgr -c -w -L Fedora -d /dev/sdX -p Y -l '\EFI\fedora\grubx64.efi' -b <boot number>

Now your system should have a working grub2-efi bootloader and it should be loaded when you reboot.

Cleaning Up Post Upgrade

Pending
This part of the documentation is still being written

Relevant Bugs: Bug 888085

There are a collection of post-upgrade things to do. Some of which are fixed by doing a distro sync:

yum distribution-synchronization --disablepresto

If you are using google-chrome from the google repository, you must re-install google-chrome due to a packing bug on the Google side of things. Make sure to adjust the command to the build type you would like to install:

yum remove google-chrome-\* && yum install google-chrome-[beta,stable,unstable]

Docs TODO

  • Write fedup troubleshooting and debug guide
  • add details for secureboot/shim installation
  • write commonbugs entries and link to them from this page
  • add note about blob drivers if needed
  • add notes about how to use other repos or link to discussion/instructions