5 Upgrade online #
SUSE offre uno strumento grafico intuitivo e uno strumento da riga di comando semplice per eseguire l'upgrade di un sistema in esecuzione al nuovo Service Pack. Tali strumenti forniscono il supporto necessario per il «rollback» dei Service Pack e altro. In questo capitolo è illustrata la procedura dettagliata per eseguire l'upgrade di un Service Pack con tali strumenti.
5.1 Panoramica concettuale #
SUSE rilascia Service Pack per la famiglia SUSE Linux Enterprise a intervalli regolari. Per semplificare la migrazione a un nuovo Service Pack da parte dei clienti e ridurre al minimo il tempo di inattività, SUSE supporta la migrazione online mentre il sistema è in esecuzione.
A partire da SLE 12 , YaST Wagon è stato sostituito dalla migrazione di YaST (tramite GUI) e dalla migrazione di Zypper (dalla riga di comando). Ciò comporta i vantaggi seguenti:
Il sistema è in uno stato definito fino all'aggiornamento del primo RPM.
L'annullamento è possibile fino all'aggiornamento del primo RPM.
In caso di errore il recupero è semplice.
È possibile eseguire un «rollback» tramite gli strumenti di sistema (backup o ripristino non necessari).
Vengono utilizzati tutti gli archivi attivi.
È possibile ignorare un Service Pack
La migrazione online è supportata solo per eseguire la migrazione tra Service Pack. La migrazione online non è supportata per eseguire l'upgrade alle nuove versioni principali. Per informazioni, vedere Capitolo 1, Metodi e percorsi di upgrade.
Utilizzare la migrazione offline per eseguire l'upgrade a una nuova release principale. Per informazioni, vedere Capitolo 4, Upgrade offline.
Se il sistema da sottoporre ad upgrade è un client SUSE Manager, è impossibile eseguire l'upgrade tramite la migrazione online YaST o zypper migration
. Seguire invece la procedura per la migrazione del client. Tale procedura è descritta in
SUSE Manager Upgrade Guide (Guida all'upgrade di SUSE Manager).
5.2 Workflow di migrazione del Service Pack #
Per eseguire la migrazione di un Service Pack è possibile utilizzare YaST, zypper
o AutoYaST.
Prima di iniziare la migrazione di un Service Pack è necessario registrare il sistema in SUSE Customer Center o in un server RMT locale. È possibile utilizzare anche SUSE Manager.
Indipendentemente dal metodo, una migrazione del Service Pack consiste nei seguenti passaggi:
Trovare le possibili destinazioni di migrazione nei sistemi registrati.
Selezionare una destinazione di migrazione.
Richiedere e abilitare nuovi archivi.
Eseguire la migrazione.
L'elenco delle destinazioni di migrazione dipende dai prodotti installati e registrati. Se è installata un'estensione per cui non è ancora disponibile il nuovo Service Pack, è possibile che non venga resa disponibile alcuna destinazione.
L'elenco delle destinazioni di migrazione disponibili per l'host in uso viene sempre recuperato da SUSE Customer Center e dipende dalle estensioni o dai prodotti installati.
5.3 Annullamento della migrazione di un Service Pack #
La migrazione di un Service Pack può essere annullata solo in alcune fasi specifiche del processo di migrazione:
Finché non ha inizio l'upgrade del pacchetto, al sistema vengono apportate solo alcune modifiche minime, ad esempio per servizi e archivi. Ripristinare
/etc/zypp/repos.d/*
per tornare allo stato precedente.Per tornare allo stato precedente dopo l'avvio dell'upgrade del pacchetto, è possibile utilizzare un'istantanea di Snapper (vedere Chapter 7, System Recovery and Snapshot Management with Snapper).
Dopo la selezione della destinazione di migrazione, SUSE Customer Center modifica i dati dell'archivio. Per tornare manualmente allo stato precedente, utilizzare
SUSEConnect
--rollback
.
5.4 Upgrade con lo strumento di migrazione online (YaST) #
Per eseguire la migrazione di un Service Pack con YaST, utilizzare lo strumento
. Per default, YaST non installa i pacchetti da un archivio di terze parti. Se un pacchetto è stato installato da un archivio di terze parti, YaST impedisce che il pacchetto venga sostituito con lo stesso pacchetto proveniente da SUSE.Quando si esegue la migrazione di un Service Pack, YaST installa tutti i pacchetti consigliati. Soprattutto nel caso di un'installazione minima personalizzata, questo può aumentare notevolmente la dimensione dell'installazione del sistema.
Per modificare questo comportamento di default e consentire solo i pacchetti necessari, regolare l'opzione solver.onlyRequires
in /etc/zypp/zypp.conf
.
solver.onlyRequires = true
Modificare inoltre il file /etc/zypp/zypper.conf
e l'opzione installRecommends
.
installRecommends=false
Questo modifica il comportamento di tutte le operazioni sui pacchetti, come l'installazione di patch o nuovi pacchetti. Per modificare il comportamento di Zypper per una singola chiamata, aggiungere il parametro --no-recommends
alla riga di comando.
Per avviare la migrazione di un Service Pack, procedere come segue:
Disattivare tutte le estensioni inutilizzate sul server di registrazione per evitare futuri conflitti di dipendenza futuri. Nel caso in cui ci si dimenticasse un'estensione, in un momento successivo YaST rileverà gli archivi delle estensioni inutilizzate e le disattiverà.
Se si è eseguito il login a una sessione GNOME in esecuzione su un computer che verrà sottoposto ad aggiornamento, passare a una console di testo. L'esecuzione dell'aggiornamento da una sessione GNOME non è consigliata. Tenere presente che ciò non si applica quando si esegue il login da un computer remoto (a meno che non sia in esecuzione una sessione VNC con GNOME).
I sottoscrittori LTSS devono assicurarsi che l'archivio delle estensioni LTSS sia attivo.
Eseguire l'aggiornamento online tramite YaST per recuperare gli ultimi aggiornamenti dei pacchetti per il sistema in uso.
Installare il pacchetto yast2-migration e le relative dipendenze (in YaST, nella sezione › ).
Riavviare YaST. In caso contrario il modulo appena installato non verrà mostrato nel centro di controllo.
In YaST, scegliere SUSE Linux Enterprise Server dalla quale si sta eseguendo l'upgrade, questo modulo viene classificato come o ). YaST mostrerà le destinazioni di migrazione possibili e un riepilogo. Se per il sistema in uso sono disponibili più destinazioni di migrazione, selezionarne una dall'elenco.
(a seconda della versione diSelezionare una destinazione di migrazione dall'elenco e fare clic su
per continuare.Se lo strumento di migrazione offre archivi di aggiornamenti, è consigliabile selezionare
per procedere.Se lo strumento di migrazione online rileva archivi obsoleti provenienti da DVD o da un server locale, è consigliabile disabilitarli. Gli archivi obsoleti provengono da un Service Pack precedente. Tutti gli archivi precedenti di SUSE Customer Center o RMT vengono rimossi automaticamente.
Controllare il riepilogo e continuare con la migrazione facendo clic su
. Confermare con .Al termine della migrazione, riavviare il sistema.
5.5 Upgrade con Zypper #
Per eseguire la migrazione di un Service Pack con Zypper, utilizzare lo strumento a riga di comando zypper
migration
dal pacchetto
zypper-migration-plugin.
Quando si esegue la migrazione di un Service Pack, YaST installa tutti i pacchetti consigliati. Soprattutto nel caso di un'installazione minima personalizzata, questo può aumentare notevolmente la dimensione dell'installazione del sistema.
Per modificare questo comportamento di default e consentire solo i pacchetti necessari, regolare l'opzione solver.onlyRequires
in /etc/zypp/zypp.conf
.
solver.onlyRequires = true
Modificare inoltre il file /etc/zypp/zypper.conf
e l'opzione installRecommends
.
installRecommends=false
Questo modifica il comportamento di tutte le operazioni sui pacchetti, come l'installazione di patch o nuovi pacchetti. Per modificare il comportamento di Zypper per una singola chiamata, aggiungere il parametro --no-recommends
alla riga di comando.
Per avviare la migrazione di un Service Pack, procedere come segue:
Se si è eseguito il login a una sessione GNOME in esecuzione su un computer che verrà sottoposto ad aggiornamento, passare a una console di testo. L'esecuzione dell'aggiornamento da una sessione GNOME non è consigliata. Tenere presente che ciò non si applica quando si esegue il login da un computer remoto (a meno che non sia in esecuzione una sessione VNC con GNOME).
Se non è ancora stato fatto, registrare il computer SUSE Linux Enterprise in uso:
tux >
sudo
SUSEConnect
--regcode YOUR_REGISTRATION_CODEI sottoscrittori LTSS devono assicurarsi che l'archivio delle estensioni LTSS sia attivo.
Eseguire
zypper migration
:tux >
sudo
zypper migration
Executing 'zypper patch-check --updatestack-only' Refreshing service 'Basesystem_Module_15_x86_64'. Refreshing service 'Desktop_Applications_Module_15_x86_64'. Refreshing service 'SUSE_Linux_Enterprise_Server_15_x86_64'. Refreshing service 'Server_Applications_Module_15_x86_64'. Loading repository data... Reading installed packages... 0 patches needed (0 security patches) Executing 'zypper refresh' Repository 'SLE-Module-Basesystem15-Pool' is up to date. Repository 'SLE-Module-Basesystem15-Updates' is up to date. Repository 'SLE-Module-Desktop-Applications15-Pool' is up to date. Repository 'SLE-Module-Desktop-Applications15-Updates' is up to date. Repository 'SLE-Product-SLES15-Pool' is up to date. Repository 'SLE-Product-SLES15-Updates' is up to date. Repository 'SLE-Module-Server-Applications15-Pool' is up to date. Repository 'SLE-Module-Server-Applications15-Updates' is up to date. All repositories have been refreshed. Available migrations: 1 | SUSE Linux Enterprise Server 15 SP2 x86_64 Basesystem Module 15 SP2 x86_64 Desktop Applications Module 15 SP2 x86_64 Python 2 Module 15 SP2 x86_64 Server Applications Module 15 SP2 x86_64 2 | SUSE Linux Enterprise Server 15 SP1 x86_64 Basesystem Module 15 SP1 x86_64 Desktop Applications Module 15 SP1 x86_64 Python 2 Module 15 SP1 x86_64 Server Applications Module 15 SP1 x86_64 [num/q]:Note sul processo di migrazione:
Se per il sistema in uso sono disponibili più destinazioni di migrazione, Zypper consente di selezionarne una dall'elenco. È come ignorare uno o più Service Pack. Ricordare che la migrazione online per i prodotti base (SLES, SLED) rimane disponibile solo tra i Service Pack di una versione principale.
Per default, Zypper usa l'opzione
--no-allow-vendor-change
, che viene passata azypper
dup
. Se un pacchetto è stato installato da un archivio di terze parti, questa opzione impedisce che il pacchetto venga sostituito con lo stesso pacchetto proveniente da SUSE.Se Zypper rileva archivi obsoleti provenienti da DVD o da un server locale, è consigliabile disabilitarli. Gli archivi precedenti di SUSE Customer Center o RMT vengono rimossi automaticamente.
Rivedere tutte le modifiche, soprattutto i pacchetti che verranno rimossi. Procedere digitando
y
(il numero esatto di pacchetti di cui eseguire l'upgrade può variare in base al sistema):266 packages to upgrade, 54 to downgrade, 17 new, 8 to reinstall, 5 to remove, 1 to change arch. Overall download size: 285.1 MiB. Already cached: 0 B After the operation, additional 139.8 MiB will be used. Continue? [y/n/? shows all options] (y):
Utilizzare i tasti Shift–Pagina ↑ o Shift–Pagina ↓ per scorrere nella shell.
Al termine della migrazione, riavviare il sistema.
5.6 Upgrade con Zypper semplice #
Se il sistema non è registrato perché non si dispone dell'accesso a Internet o a un server di registrazione, non è possibile eseguire la migrazione a un nuovo Service Pack con la migrazione YaST o zypper migration
. In questo caso, è comunque possibile eseguire la migrazione a un nuovo Service Pack con Zypper semplice e alcune interazioni manuali.
Questo percorso di migrazione a un nuovo Service Pack è supportato soltanto per i sistemi non registrati che non dispongono dell'accesso a Internet o a un server di registrazione. Questo potrebbe essere ad esempio il caso dei computer che si trovano in reti con protezione speciale. Se si dispone di un sistema registrato, utilizzare la migrazione YaST o Zypper.
Per utilizzare questo percorso di migrazione, è necessario fornire le origini di installazione del nuovo Service Pack in una posizione accessibile dal computer di cui si sta eseguendo la migrazione. A questo scopo è ad esempio possibile configurare un server RMT o SLP.
È inoltre necessario che il sistema disponga dell'accesso a un repository di aggiornamento aggiornato della versione del prodotto installata.
Se si è eseguito il login a una sessione grafica in esecuzione sul computer di cui verrà eseguita la migrazione, eseguire il logout dalla sessione e passare a una console di testo. L'esecuzione dell'aggiornamento da una sessione grafica non è consigliata. Tenere presente che ciò non si applica quando si esegue il login da un computer remoto (a meno che non sia in esecuzione una sessione VNC con X).
Aggiornare gli strumenti di gestione dei pacchetti con gli archivi precedenti di SUSE Linux Enterprise:
tux >
sudo
zypper
patch --updatestack-onlyOttenere un elenco dei pacchetti attualmente senza un repository loro assegnato (pacchetti orfani). Non verrà eseguita la migrazione di tali pacchetti e non è possibile garantirne il funzionamento in seguito alla migrazione (dal momento che gli altri pacchetti su cui si basano possono essere stati modificati e non essere quindi più compatibili). Per ottenere l'elenco, eseguire
tux >
sudo
zypper packages --orphanedEsaminare con attenzione l'elenco e rimuovere tutti i pacchetti orfani non più necessari. Prendere nota di tutti i pacchetti orfani rimanenti per poterne eseguire un confronto in un secondo momento.
Ottenere un elenco di tutti i repository a cui il sistema è attualmente registrato eseguendo:
tux >
sudo
zypper repos -uNel passaggio seguente è necessario riscrivere gli URL dei repository per fare in modo che puntino ai rispettivi repository del nuovo Service Pack (
SLE-15
deve essere sostituito conSLE-15-SP1
). Se l'URL di un repository ha l'aspetto seguente:http://rmt.example.com/repo/SUSE/Products/SLE-15-Product-SLES/x86_64/product/
deve essere modificato in
http://rmt.example.com/repo/SUSE/Products/SLE-15-SP1-Product-SLES/x86_64/product/
Occorre procedere in questo modo per tutti i repository abilitati. È consigliabile eseguire questa operazione anche per i repository attualmente disabilitati per evitare che nel sistema siano presenti origini di installazione errate al momento della loro attivazione in futuro.
Per modificare gli URL dei repository, è possibile scegliere tra le opzioni seguenti:
Utilizzo di
› › . Selezionare un repository e fare clic su per apportare la modifica necessaria. Ripetere questa operazione per tutti i repository.Utilizzo di Zypper. Aggiungere un nuovo repository e rimuovere quello meno recente corrispondente in un secondo momento:
tux >
sudo
zypper addrepo -f URL NAME-15-SP1tux >
sudo
zypper removerepo NAMEModifica dei file di configurazione del repository in
/etc/zypp/repos.d
. Ogni repository è rappresentato da un file di configurazione. La modifica del valore del parametrobaseurl
è obbligatoria per ogni file.
Rivedere le modifiche eseguendo
zypper repos -u
e aggiornare i repository eseguendo:tux >
sudo
zypper refresh -f -sSe l'aggiornamento di un repository non riesce, accertarsi di aver immesso l'URL corretto. Se non è possibile correggere il problema, si consiglia di disabilitare il repository con errori.
Se tutti i repository sono stati configurati correttamente, eseguire nuovamente
tux >
sudo
zypper refresh -f -sper assicurarsi che tutti i repository siano stati aggiornati.
Prima di avviare la migrazione, si consiglia di eseguire un'esecuzione di prova:
tux >
sudo
zypper dup -D --no-allow-vendor-change --no-recommendsIl parametro
-D
eseguirà un test in cui viene simulata la migrazione senza apportare alcuna modifica effettiva al sistema. Correggere eventuali problemi prima di continuare. Se l'esecuzione di prova viene completata senza errori, eseguire la migrazione reale eseguendotux >
sudo
zypper dup --no-allow-vendor-change --no-recommendsL'opzione
-no-allow-vendor-change
assicura che gli RPM di terze parti non sovrascrivano gli RPM del sistema di base. L'opzione--no-recommends
assicura che i pacchetti deselezionati durante l'installazione iniziale non verranno aggiunti di nuovo.In seguito alla migrazione e all'avvio del sistema nella nuova versione del Service Pack, verificare nuovamente la presenza di pacchetti orfani:
tux >
sudo
zypper packages --orphanedConfrontare il nuovo elenco con quello generato prima di avviare la migrazione. La presenza di nuovi pacchetti nell'elenco potrebbe dipendere dal fatto che questi sono stati spostati in un modulo diverso nel nuovo Service Pack. Se tale modulo non era presente nell'installazione precedente, il pacchetto non è stato aggiornato.
È possibile verificare a quale modulo appartiene un pacchetto all'indirizzo https://scc.suse.com/packages. Aggiungere i moduli mancanti utilizzando
zypper addrepo
o il modulo dei repository dei programmi YaST e aggiornare i pacchetti orfani in un secondo momento eseguendo:tux >
sudo
zypper install --no-recommends LIST OF PACKAGESLa migrazione a un nuovo Service Pack è stata eseguita correttamente.
5.7 Rollback di un Service Pack #
Se un Service Pack non è adatto alle proprie esigenze, SUSE Linux Enterprise supporta il ripristino del sistema allo stato precedente l'avvio della migrazione del Service Pack. Il prerequisito è una partizione radice Btrfs con istantanee abilitate (questa è l'impostazione predefinita a partire da SLES 12). Per ulteriori informazioni, vedere Chapter 7, System Recovery and Snapshot Management with Snapper.
Recuperare un elenco di tutte le istantanee di Snapper:
tux >
sudo
snapper listRivedere l'output per individuare lo snapshot creato subito prima dell'avvio della migrazione del Service Pack. Nella colonna
è contenuta l'istruzione corrispondente e lo snapshot è contrassegnato comeimportante
nella colonna . Memorizzare il numero di snapshot nella colonna e la rispettiva data nella colonna .Riavviare il computer. Dal menu di avvio, selezionare 15 SP2 ed eseguirne l'avvio.
e scegliere lo snapshot con la data e il numero memorizzato al passaggio precedente. Viene caricato un secondo menu di avvio (quello dello snapshot). Selezionare la voce che inizia con SLESIl sistema viene avviato nello stato precedente con la partizione del sistema montata in sola lettura. Eseguire il login come
root
e verificare che lo snapshot selezionato sia corretto. Verificare inoltre che tutto funzioni come previsto. Si noti che poiché il file system radice è montato in sola lettura, è possibile che vengano applicate restrizioni alle funzionalità.In caso di problemi o se è stato avviato lo snapshot errato, riavviare e scegliere uno snapshot diverso dal quale eseguire l'avvio. Le modifiche apportate finora non sono permanenti. Se lo snapshot è corretto e funziona come previsto, apportare la modifica permanente eseguendo il seguente comando:
tux >
sudo
snapper rollbackDopodiché riavviare. Nella schermata di avvio, scegliere la voce di avvio di default per riavviare nel sistema ripristinato.
Verificare che la configurazione dell'archivio sia stata reimpostata correttamente. Verificare inoltre che tutte le procedure siano registrate adeguatamente. Se una delle suddette condizioni non è soddisfatta, l'aggiornamento del sistema in un momento successivo potrebbe risultare impossibile o il sistema potrebbe essere aggiornato con archivi di pacchetti errati.
Assicurarsi che il sistema sia in grado di accedere a Internet prima di iniziare questa procedura.
Aggiornare servizi e archivi eseguendo
tux >
sudo
zypper ref -fsOttenere un elenco di archivi attivi eseguendo
tux >
sudo
zypper lrVerificare attentamente l'output di questo comando. Nell'elenco non dovrebbero comparire servizi e archivi aggiunti per l'aggiornamento. Ad esempio, se si sta eseguendo il rollback da SLES15 SP1 a SLES15, l'elenco deve contenere i repository
SLES15
e non i repositorySLES15-SP1
.Nel caso in cui siano elencati archivi errati, eliminarli e, se necessario, sostituirli con le versioni che corrispondono al prodotto o alla versione del Service Pack in uso. Per un elenco di archivi per i percorsi delle migrazioni supportate, fare riferimento alla Sezione 2.3, «Dipendenze e cicli di vita dei moduli». (Tenere presente che non dovrebbe essere necessario intervenire manualmente, dal momento che i repository dovrebbero essere aggiornati automaticamente; tuttavia, è buona norma verificare e correggere se necessario).
Infine, verificare che nello stato di registrazione siano presenti tutti i prodotti installati eseguendo
tux >
sudo
SUSEConnect --statusLo stato di tutti i prodotti deve essere
Registrato
. In caso contrario, correggere la registrazione eseguendotux >
sudo
SUSEConnect --rollback
Il sistema viene ripristinato allo stato acquisito immediatamente prima dell'avvio della migrazione del Service Pack.
5.8 Upgrade con SUSE Manager #
SUSE Manager è una soluzione server che fornisce aggiornamenti, patch e correzioni per la sicurezza dei client SUSE Linux Enterprise. Viene fornito in dotazione con un set di strumenti e un'interfaccia utente basata su Web per i task di gestione. Per ulteriori informazioni su SUSE Manager, vedere https://www.suse.com/products/suse-manager/.
La migrazione SP consente di eseguire la migrazione da un Service Pack (SP) a un altro all'interno di una versione principale (ad esempio, da SLES 15 GA a SLES 15 SP1).
Se il computer è gestito da SUSE Manager, aggiornarlo come descritto nella documentazione di SUSE Manager. La procedura per la migrazione del client è descritta in SUSE Manager Upgrade Guide (Guida all'upgrade di SUSE Manager), disponibile all'indirizzo https://documentation.suse.com/suma/.
5.9 Upgrade da openSUSE Leap a SUSE Linux Enterprise Server #
È possibile eseguire l'upgrade di un'installazione openSUSE online a SUSE Linux Enterprise Server. La procedura è analoga a quella descritta nella Sezione 5.5, «Upgrade con Zypper», con alcuni passaggi aggiuntivi. Prima di eseguire questa procedura in un sistema di produzione, si consiglia di eseguirla su un sistema di test in cui è replicata la configurazione di produzione.
Per vedere per quali versioni openSUSE Leap è supportata la migrazione, consultare la Sezione 1.1, «Percorsi di upgrade a SLES 15 SP2 supportati».
Gli archivi openSUSE forniscono più pacchetti rispetto a quelli disponibili in SUSE Linux Enterprise Server. Se si è installato uno di questi pacchetti, dopo la migrazione questo non riceverà più alcun aggiornamento. Per rimuovere questi pacchetti, attenersi alla procedura riportata di seguito.
Assicurarsi che tutti i pacchetti necessari per il sistema siano disponibili nell'archivio SUSE Linux Enterprise Server. È inoltre possibile verificare se i pacchetti sono disponibili nell'archivio SUSE Package Hub. Per informazioni, vedere Sezione 20.3, «SUSE Package Hub».
Per eseguire la migrazione da openSUSE Leap, attenersi alla procedura seguente:
Passare a un TTY, premendo ad esempio Ctrl–Alt–F1. Quindi, eseguire il login come
root
.Installazione SUSEConnect.
root #
zypper in SUSEConnect
Eseguire la registrazione presso SCC per ottenere gli archivi SUSE Linux Enterprise Server.
root #
SUSEConnect -r REGISTRATION_CODE -p SLES/15.1/x86_64
Elencare e disabilitare tutti i repository openSUSE nel sistema.
root #
zypper lr
root #
zypper mr -d REPO_IDS
Sostituire REPO_IDS con un elenco separato da spazi di tutti i repository openSUSE.
Adesso, aggiungere i moduli necessari per l'installazione.
root #
SUSEConnect --list-extensions
[...]root #
SUSEConnect -p sle-module-basesystem/15.1/x86_64
Per sostituire la maggior parte dei pacchetti Leap, si consiglia di abilitare i moduli Basesystem, Desktop Applications, Server Applications e Legacy. Inoltre, si consiglia di abilitare SUSE Package Hub.
Eseguire la migrazione dei pacchetti installati negli archivi SUSE Linux Enterprise Server.
root #
zypper dup --force-resolution
Rimuovere i pacchetti orfani.
root #
zypper rm $(zypper --no-refresh packages --orphaned | gawk '{print $5}' | tail -n +5)
Infine, riavviare il sistema.