Cos'é FedUp ?
FedUp (FEDora UPgrader) è lo strumento ufficiale per l'aggiornamento (upgrade) delle installazioni Fedora. Anaconda, l'installer di Fedora, non ha alcuna funzionalità d'aggiornamento integrata; tale funzionalità è stata delegata completamente a Fedup.
Ad oggi, FedUp è in grado di aggiornare qualsiasi attuale installazione Fedora usando un repository di rete o un DVD come sorgente di pacchetti.
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 dnf (o yum). Maggiori dettagli sono disponibili in un articolo sul blog del principale autore di FedUp
I file vengono scaricati in /var/cache/system-upgrade
poi automaticamente rimossi ad upgrade terminato.
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 si aspetta anche un'interfaccia GUI.
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
Come posso riportare eventuali problemi trovati durante gli aggiornamenti ?
Innanzitutto leggere Common F21 bugs or Common F22 bugs 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 ?
Sì. Le chiavi di firma del pacchetto per ogni nuovo rilascio di Fedora vengono inviate alle release precedenti in modo da permettere a FedUp di verificare l'integrità dei pacchetti che scarica. E' possibile disabilitare questa funzione con il parametro --nogpgcheck.
I pacchetti dei repository terzi verranno aggiornati?
Sì, se sono impostati come normali repository yum/DNF. I repositry terzi comunemente usati funzionano bene, a meno che non si tenti un upgrade troppo presto rispetto all'uscita della nuova Fedora, infatti potrebbero non essere aggiornati con la stessa tempestività di quelli ufficiali. Tuttavia questo non impedisce di avviare Fedora con successo.
Posso usare FedUp per aggiornare la mia Fedora ad una pre-release (ad esempio una beta)?
Sì. Successivamente alla diramazione di un nuovo rilascio di Fedoa, è possibile passare ad una pre-release con FedUp, anche con i rilasci della alpha e della beta.
Leggere questa email per maggiori dettagli.
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 F21 bugs#Upgrade_issues or Common F22 bugs#Upgrade_issues ed aver letto qualcosa riguardo ai bug conosciuti.
Upgrade da Fedora 20 o precedente: i Products
Al fine di scegliere uno dei nuovi prodotti Fedora, FedUp ha una nuova opzione:"--product=<PRODUCT>". Quando si parte da Fedora 20 o precedente per aggiornare a Fedora 21 o successiva, bisogna passare l'opzione --product.
E' possibile usare i seguenti valori workstation, server, cloud o nonproduct. Se si aggiorna a Workstation o Server, tutti i pacchetti che vengono inclusi nella installazione predefinita di quella scelta verranno installati dopo l'upgrade. La propria configurazione del firewall verrà inoltre resettata a quella predefinita del prodotto voluto (Product) (nella Workstation, si tratta di una configurazione discretamente aperta). Se non si desidera resettare la configurazione del firewall, usare il valore nonproduct.
Preparazione
- Fare un aggiornamento completo del sistema e riavviare per essere sicuri che qualsiasi modifica kernel sia stata effettuata
- Installare
fedup
- Di solito, meglio prima provare l'ultimo fedup disponibile nei repository stabili. Se si incontrano problemi con l'upgrade ed è disponibile un nuovo fedup nei updates-testing, allora è possibile utilizzarlo
yum --enablerepo=updates-testing install fedup
oppure con dnf:
dnf --enablerepo=updates-testing install fedup
- Assicurarsi di usare un kernel fornito da Fedora se possibile -- se si usa un kernel proprio che non ha un corrispondente initramfs, l'upgrade fallirà.
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.).
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'ultimissimo kernel.
Iniziare l'upgrade utilizzando i seguenti comandi
sudo yum update fedup fedora-release
oppure con dnf in Fedora 22+:
sudo dnf upgrade fedup fedora-release
Se si sta aggiornando da Fedora 20 a Fedora 21, eseguire il seguente comando:
sudo fedup --network 21 --product=[workstation | server| cloud | nonproduct]
Se si sta aggiornando da Fedora 21 a Fedora 22, eseguire il seguente comando:
sudo fedup --network 22
Una volta completati, controllare che il file /var/log/fedup.log
non mostri alcun errore da fedup
File ISO
I rilasci più vecchi di Fedora includevano un'immagine d'installazione con un gran numero di pacchetti, che li rendeva adatti per l'aggiornamento di alcuni sistemi. L'aggiornamento, avviando questa immagine, era possibile fino a Fedora 17, mentre l'uso della stessa immagine con FedUp era supportato fino a Fedora 20. A partire da Fedora 21, il DVD immagine universale non viene prodotto per Fedora 21 e successive; per ora, non ci sono supporti disponibili per gli aggiornamenti offline.
Altri dispositivi
Dispositivi ottici ed altro stoccaggio montabile possono anche essere utilizzati come fonte di pacchetti per le preparazioni.
- Montare la sorgente
- Per esempio, supponiamo che tale sorgente sia montata in
/mnt/fedora
ma si potrebbe montarla ovunque indicandone l'esatta collocazione.
- Per esempio, supponiamo che tale sorgente sia montata in
- Iniziare la preparazione eseguendo il seguente comando
sudo fedup --device /mnt/fedora --debuglog=fedupdebug.log
- Una volta completata, controllare il file
fedupdebug.log
per sapere se alcun errore è apparso dafedup-cli
Eseguire l'upgrade
- Riavviare il sistema se
fedup
ha finito senza errori. - Dopo il riavvio, ci dovrebbe essere una nuova voce nel menu GRUB titolata
System Upgrade
. - Selezionare l'opzione
System Upgrade
- Nota: Se
System Upgrade
non viene mostrato nel grublist all'avvio, è probabile si stia utilizando un Grub differente, spesso installato da altre distribuzioni Linux. Per correggere, reinstallare Grub:- grub2-mkconfig -o /boot/grub2/grub.cfg
- grub2-install /dev/sda (rimpiazzare /dev/sda con il proprio dispositivo d'avvio)
- Nota: Se
- Il sistema dovrebbe avviare il processo di upgrade ed uno schermo plymouth dovrebbe apparire
- Esiste una shell root su VT2 in modo da poter sperimentare con il sistema se qualcosa va storto. (Per disabilitarlo, avviare con
rd.upgrade.noshell
) - 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.
- Esiste una shell root su VT2 in modo da poter sperimentare con il sistema se qualcosa va storto. (Per disabilitarlo, avviare con
- Una volta completato, il sistema si riavvierà ed apparirà un'opzione per l'avvio Fedora 40 nel menu di grub
Pulizia successiva all'upgrade
Vale la pena ricostruire il DB RPM per evitare errori rpmdb checksum quando si fa una sincronizzazione di distribuzione:
sudo rpm --rebuilddb
C'é una serie di cose da fare dopo l'upgrade. Alcune delle quali vengono sistemate facendo una distro sync:
sudo yum distro-sync --setopt=deltarpm=0
Se si sta aggiornando a Fedora 22 e successive, eseguire invece il seguente comando:
(Se si usa dnf
la prima volta e si sta dietro ad un proxy, aggiungere le impostazioni del proxy stesso in /etc/dnf/dnf.conf
)
sudo dnf distro-sync --setopt=deltarpm=0
- rpmconf cerca .rpmnew, .rpmsave e .rpmorig e chiede cosa farne. Mantiene la versione corrente, vede i diff (differenze) o i merge (giunzioni).
sudo yum install rpmconf
Se si sta aggiornando a Fedora 22 e successive, eseguire invece il seguente comando:
sudo dnf install rpmconf
sudo rpmconf -a
- Se si utilizza google-chrome dal repository di Google, è necessario re-installarlo a causa di un bug di imballaggio. Assicurarsi di regolare il comando per il tipo di pacchetto che si desidera installare:
sudo yum remove google-chrome-\* && sudo yum install google-chrome-[beta,stable,unstable]
Se si sta aggiornando a Fedora 22 e successive, eseguire invece il seguente comando:
sudo dnf remove google-chrome-\* && sudo dnf install google-chrome-[beta,stable,unstable]
Documenti da fare
- Scrivere una guida per il debug e la risoluzione dei problemi di fedup
- Aggiungere note sui driver blob se necessario