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.
Perché ricevo errori quando utilizzo yum sulla mia istanza EC2 che esegue Amazon Linux 1, Amazon Linux 2 o Amazon Linux 2023?
Ricevo errori quando utilizzo yum sulla mia istanza Amazon Elastic Compute Cloud (Amazon EC2) che esegue Amazon Linux 1, Amazon Linux 2 o Amazon Linux 2023.
Breve descrizione
Per determinare quale errore si è verificato, utilizza i messaggi di output del comando yum. Potresti ricevere uno dei seguenti messaggi di errore comuni:
- "Connection timed out ABCD milliseconds"
- "HTTP Error 403 - Forbidden"
- "Could not resolve host: abcdexyz.$awsregion.$awsdomain"
- "HTTP Error 407 - Proxy Authentication Required"
- "Resolving timed out after 5000 milliseconds"
Risoluzione
Connection timed out ABCD milliseconds
Per risolvere questo problema, verifica che il gruppo di sicurezza collegato all'istanza consenta il traffico HTTP o HTTPS in uscita. Verifica inoltre che le liste di controllo degli accessi alla rete (ACL di rete) associate alla sottorete dell'istanza consentano il traffico HTTP o HTTPS in uscita.
L'esempio seguente mostra una ACL di rete personalizzata che consente il traffico in uscita sulle porte 80 e 443:
Inbound rules Rule# Type Protocol Port Range Source Allow/Deny 100 Custom TCP Rule TCP (6) 1024-65535 0.0.0.0/0 ALLOW 101 Custom TCP Rule TCP (6) 1024-65535 ::/0 ALLOW * ALL Traffic ALL ALL ::/0 DENY * ALL Traffic ALL ALL 0.0.0.0/0 DENY
Outbound rules Rule # Type Protocol Port Range Source Allow/Deny 100 HTTP (80) TCP (6) 80 0.0.0.0/0 ALLOW 101 HTTPS (443) TCP (6) 443 0.0.0.0/0 ALLOW 102 HTTP (80) TCP (6) 80 ::/0 ALLOW 103 HTTPS (443) TCP (6) 443 ::/0 ALLOW * ALL Traffic ALL ALL ::/0 DENY * ALL Traffic ALL ALL 0.0.0.0/0 DENY
Per accedere ai repository Amazon Linux, la tua istanza deve utilizzare una delle seguenti impostazioni di accesso a Internet in base alla tua configurazione:
- Per un'istanza in una sottorete pubblica, utilizza un gateway Internet.
- Per un'istanza in una sottorete privata, utilizza un gateway NAT o un'istanza NAT.
- Per un'istanza in una sottorete pubblica o privata, utilizza un endpoint di un cloud privato virtuale (VPC) Amazon Simple Storage Service (Amazon S3).
- Per un'istanza in una sottorete privata con un proxy, aggiungi i seguenti parametri al file di configurazione per configurare yum in modo che utilizzi un proxy:
Nota: se hai già configurato il proxy e stai utilizzando lo stesso file di configurazione, la password del proxy è visibile in chiaro nel file. Sostituisci proxy-port con la porta utilizzata dal tuo proxy, proxy-user-name con il tuo nome utente proxy e proxy-password con la password del tuo proxy. Per ulteriori informazioni, consulta Using yum with a proxy server (Utilizzo di yum con un server proxy) sul sito di Fedora Project. Per Amazon Linux 1 e Amazon Linux 2, modifica il file /etc/yum.conf. Per Amazon Linux 2023, modifica il file /etc/dnf/dnf.conf.proxy=http://proxy-server-IP-address:proxy_port proxy_username=proxy-user-name proxy_password=proxy-password
Dopo aver configurato l'istanza, esegui il seguente comando curl per assicurarti che l'istanza possa accedere al repository.
Amazon Linux 2023:
curl -I al2023-repos-us-east-1-de612dc2.s3.dualstack.us-east-1.amazonaws.com
Amazon Linux 1:
curl -I repo.us-east-1.amazonaws.com
Amazon Linux 2:
curl -I amazonlinux.us-east-1.amazonaws.com
Nota: nei comandi precedenti, sostituisci us-east-1 con la regione AWS della tua istanza.
Il comando curl è preinstallato su tutte le AMI (Amazon Machine Image). Tuttavia, non puoi accedere ai repository Amazon Linux senza credenziali e il comando curl non può accettare le credenziali di un repository yum. Quando esegui il comando curl, ricevi un messaggio di errore di accesso negato simile al seguente esempio:
$ curl -I amazonlinux.us-east-1.amazonaws.com HTTP/1.1 403 Forbidden x-amz-bucket-region: us-east-1 x-amz-request-id: xxxxxxxx x-amz-id-2: xxxxxxxxxxxxx= Content-Type: application/xml Date: Thu, 17 Nov 2022 16:59:59 GMT Server: AmazonS3
Utilizza il comando curl per verificare se il problema di timeout è ancora presente. Il messaggio di errore esemplificativo mostra che la rete è raggiungibile e il problema di timeout non è più presente.
HTTP Error 403 - Forbidden
Utilizzi un endpoint VPC
Se utilizzi un endpoint Amazon S3 VPC, assicurati che la policy collegata consenta la chiamata API s3:GetObject in base alla tua versione di Linux.
Amazon Linux 2023: arn:aws:s3:::al2023-repos-region-de612dc2/*
Amazon Linux 1: arn:aws:s3:::packages.region.amazonaws.com/* e arn:aws:s3:::repo.region.amazonaws.com/*
Amazon Linux 2: arn:aws:s3:::amazonlinux.region.amazonaws.com/ and arn:aws:s3:::amazonlinux-2-repos-region/
Nota: nelle risorse precedenti, sostituisciregion con la regione della tua istanza.
Per ulteriori informazioni, consulta Endpoint gateway per Amazon S3.
Utilizzi un proxy
Se utilizzi un proxy per accedere ai repository Amazon Linux, verifica che il sottodominio .amazonaws.com sia nella lista consentita della tua configurazione dei proxy.
Utilizzi un repository non supportato
Potresti ricevere il seguente errore: "Error: Failed to download metadata for repo 'amazonlinux': GPG verification is activated, but GPG signature is not available. This may be an error or the repository does not support GPG verification". Questo è un problema noto che si verifica quando attivi repo_gpgcheck nei file del repository nella directory /etc/yum.repos.d/, ad esempio i file repository.repo o /etc/yum.conf. I repository Amazon Linux 2023 non hanno la firma dei metadati attivata. Inoltre, se utilizzi questa configurazione per repository non supportati, le installazioni dei pacchetti o gli aggiornamenti del sistema operativo (OS) potrebbero non riuscire. Come soluzione alternativa, apri il file repo del repository e imposta il valore di repo_gpgcheck per il repository su 0. Ad esempio, imposta il valore su repo_gpgcheck=0.
Per ulteriori informazioni su questa situazione, consulta [Bug] - not able to install/upgrade packages after activating repo_gpgcheck ([Bug] - impossibile installare/aggiornare pacchetti dopo l'attivazione di repo\ _gpgcheck) sul sito web di GitHub.
Could not resolve host: abcdexyz.$awsregion.$awsdomain
La directory /etc/yum/vars deve includere le variabili awsdomain e awsregion. Per verificare che la directory /etc/yum/vars definisca le variabili yum personalizzate, esegui i seguenti comandi:
$ cat /etc/yum/vars/awsregion us-east-1 $ cat /etc/yum/vars/awsdomain amazonaws.com
Nota: sostituisci us-east-1 con la regione della tua istanza.
L'istanza deve risolvere il nome di dominio dei repository Amazon Linux. Per verificare la risoluzione DNS della tua istanza, esegui i seguenti comandi:
$ dig amazonlinux.us-east-1.amazonaws.com $ dig repo.us-east-1.amazonaws.com $ dig al2023-repos-us-east-1-de612dc2
Nota: sostituisci us-east-1 con la regione della tua istanza.
Le query al server DNS fornito da Amazon all'indirizzo IPv4 169.254.169.253 e all'indirizzo IPv6 fd00:ec2: :253 hanno avuto esito positivo. Anche le query al server DNS fornito da Amazon all'indirizzo IP riservato alla base dell'intervallo di rete IPv4 del VPC più due hanno avuto esito positivo. L'indirizzo IPv6 è accessibile solo su istanze EC2 basate su Nitro.
HTTP Error 407 - Proxy Authentication Required
Questo errore si verifica quando il proxy non è in grado di completare la richiesta perché yum o dnf non dispone delle credenziali di autenticazione corrette per il server proxy. Per configurare yum o dnf per l'utilizzo di un proxy, modifica il file di configurazione con i seguenti parametri:
proxy=http://proxy-server-IP-address:proxy_port proxy_username=proxy-user-name proxy_password=proxy-password
Nota: se hai già configurato il proxy e stai utilizzando lo stesso file di configurazione, la password del proxy è visibile in chiaro nel file. Sostituisci proxy-port con la porta utilizzata dal tuo proxy, proxy-user-name con il tuo nome utente proxy e proxy-password con la password del tuo proxy. Per Amazon Linux 1 e Amazon Linux 2, modifica il file /etc/yum.conf. Per Amazon Linux 2023, modifica il file /etc/dnf/dnf.conf.
Problemi di timeout
Esegui il seguente comando per verificare che il file /etc/resolv.conf includa l'indirizzo IP corretto del tuo server DNS:
cat /etc/resolv.conf nameserver YourDNSIP
Per modificare il periodo di timeout predefinito di 5.000 ms, modifica il valore di timeout nel file di configurazione di yum. Per maggiori informazioni, consulta yum.conf sul sito web die.net. Per Amazon Linux 2023, modifica il valoremetadata_expire in /etc/yum.repos.d/amazonlinux.repo per modificare il periodo di timeout.
Per utilizzare un comando dig per controllare l'ora della query, esegui il comando seguente:
$ dig repo.us-east-1.amazonaws.com | grep time
Nota: sostituisci us-east-1 con la regione della tua istanza.

Contenuto pertinente
- AWS UFFICIALEAggiornata 4 mesi fa