Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Come posso risolvere i problemi che si verificano quando aggiorno il sistema operativo SUSE sulla mia istanza EC2?
Ho provato ad aggiornare il sistema operativo (SO) SUSE sulla mia istanza Amazon Elastic Compute Cloud (Amazon EC2) e ho ricevuto messaggi di errore, ad esempio errore nel controllo dello stato dell'istanza, registrazione dell’SO annullata o errore nei comandi Zypper.
Risoluzione
Verifica gli errori nel controllo dello stato dell’istanza
Per gli errori nel controlo dello stato dell’istanza, consulta la sezione I controlli dello stato delle istanze sulla mia istanza Linux EC2 hanno esito negativo a causa di problemi del sistema operativo. In che modo posso risolvere il problema?
Usa lo script susecloud-repocheck per diagnosticare e risolvere automaticamente problemi di minore entità
Lo script susecloud-repocheck esegue un controllo del repository del SO. Inoltre, corregge i problemi che impediscono all'istanza di registrarsi nell'infrastruttura di aggiornamento SUSE per quanto segue:
- Microsoft Azure
- AWS
- Piattaforma Google Cloud (GCP)
- Istanze on demand con pagamento a consumo (PAYG)
Per ulteriori informazioni, consulta susecloud-repocheck nel repository SUSE di GitHub.
Utilizza il comando seguente per eseguire lo script:
$ python3 <(curl -sL https://raw.githubusercontent.com/SUSE/susecloud-repocheck/main/sc-repocheck.py)
Lo script crea i log nella directory /var/log/ denominata sc-repocheck_<YYMMDD_hhmmss>.tar.xz.
Verifica manualmente la registrazione e risolvi eventuali errori di aggiornamento
Verifica il codice dell'istanza billingProducts o marketplaceProductCodes
Per PAYG vanilla SLES, verifica il codice billingProducts dell'istanza. Per PAYG SLES for SAP Applications, verifica il codice MarketplaceProductCodes.
Esegui il comando seguente per verificare il codice billingProducts o marketplaceProductCodes:
# /usr/bin/curl --noproxy '*' -w "\n" -s -H "X-aws-ec2-metadata-token: $(curl --noproxy '*' -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 300")" http://169.254.169.254/latest/dynamic/instance-identity/document | grep -E 'billingProducts|marketplaceProductCodes'
Di seguito è riportato l'output del comando:
billingProducts" : [ "bp-********" ]
Oppure
"marketplaceProductCodes" : \[ "\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*" \],
Verifica le voci della registrazione SMT nel file /etc/hosts
Nel file /etc/hosts cerca una voce che segua la riga # aggiunta dalla registrazione SMT, non rimuoverla, conserva anche il commento.
Nota: in una regione AWS è presente più di un server di aggiornamento cloud pubblico SUSE. Per ulteriori informazioni, consulta l'elenco degli indirizzi IP dei server di aggiornamento per le regioni AWS sul sito Web di SUSE Public Cloud Solutions.
Per verificare lo stato corrente della registrazione, esegui il comando seguente:
# SUSEConnect -s
Nell'output del comando precedente, verifica che il parametro Stato sia Registrato o Non registrato. Se l'output è Non registrato, registra nuovamente l'istanza.
Per rimuovere le voci dalle registrazioni precedenti, esegui il comando seguente:
# registercloudguest --clean
Per registrare nuovamente l'istanza, esegui il comando seguente:
# registercloudguest --force-new
Per verificare lo stato corrente della registrazione, esegui il comando seguente:
# SUSEConnect -s
Se la registrazione ha esito negativo, analizza i log in /var/log/cloudregister per determinare il motivo dell'errore. Di seguito è riportato un esempio di errore nei log:
SUSEConnect error: Errno::ENOSPC: No space left on device
Rimuovi eventuali voci di registrazione SMT duplicate o aggiuntive nel file /etc/hosts. Di seguito è riportato un esempio di una voce aggiunta dalla registrazione SMT:
# vi /etc/hosts # Added by SMT registration do not remove, retain comment as well 54.246.90.215 smt-ec2.susecloud.net smt-ec2
Risolvi gli errori di registrazione più comuni
Per risolvere gli errori di registrazione più comuni, completa i seguenti passaggi:
-
Per verificare che il cloud-regionsrv-client richiesto e i relativi pacchetti di dipendenza siano installati nel sistema operativo, esegui il seguente comando:
# rpm -qa | grep -E 'cloud-regionsrv-client|cloud-regionsrv-client-plugin-ec2|regionServiceClientConfigEC2|SUSEConnect|suseconnect-ng|python3-ec2metadata|python3-dnspython|python3-lxml|python3-cssselect|python3-M2Crypto|python3-zypp-plugin|libzypp|ruby-common'
Quanto segue è un esempio del comando precedente:
libzypp-17.31.20-150400.3.40.1.x86_64 suseconnect-ng-1.6.0~git0.31371c8-150400.3.22.1.x86_64 python3-zypp-plugin-0.6.3-150000.4.2.1.noarch python3-cssselect-1.0.3-150000.3.3.1.noarch python3-M2Crypto-0.38.0-150400.7.64.x86_64 python3-lxml-4.7.1-150200.3.10.1.x86_64 regionServiceClientConfigEC2-4.1.1-150000.3.27.1.noarch ruby-common-2.1-3.15.noarch python3-ec2metadata-5.0.0-150000.3.12.1.noarch cloud-regionsrv-client-10.1.6-150000.6.105.1.noarch cloud-regionsrv-client-plugin-ec2-1.0.4-150000.6.105.1.noarch python3-dnspython-1.15.0-150000.3.2.1.noarch
Se i pacchetti sono vecchi o mancanti e il sistema operativo non ha accesso a Zypper, esegui l'aggiornamento offline. Per eseguire l'aggiornamento offline, scarica i pacchetti rpm usando Zypper su un altro host funzionante e trasferisci l’rpm sull'host non funzionante. Quindi, esegui un'installazione Zypper dei pacchetti rpm
-
Identifica i repository mancanti.
-
Se nell’istanza SUSE mancano i repository software, esegui i seguenti comandi per forzare una nuova registrazione con tutti i repository disponibili.
# registercloudguest --force-new # SUSEConnect --list-extensions # zypper lr --uri
Informazioni correlate
Domande frequenti su SUSE Linux Enterprise Server (SLES) su Amazon EC2

Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa