Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Warum erhalte ich Fehler, wenn ich yum auf meiner EC2-Instance verwende, auf der Amazon Linux 1, Amazon Linux 2 oder Amazon Linux 2023 ausgeführt wird?
Ich erhalte Fehler, wenn ich yum auf meiner Amazon Elastic Compute Cloud (Amazon EC2)-Instance verwende, auf der Amazon Linux 1, Amazon Linux 2 oder Amazon Linux 2023 ausgeführt wird.
Kurzbeschreibung
Verwende die Ausgabemeldungen des yum-Befehls, um festzustellen, welcher Fehler aufgetreten ist. Möglicherweise erhältst du eine der folgenden Fehlermeldungen:
- „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“
Lösung
Zeitüberschreitung bei der Verbindung, ABCD Millisekunden
Um dieses Problem zu beheben, stelle sicher, dass die an die Instance angefügte Sicherheitsgruppe ausgehenden HTTP- oder HTTPS-Datenverkehr zulässt. Stelle außerdem sicher, dass die Netzwerk-Zugriffssteuerungslisten (Netzwerk-ACLs), die dem Subnetz der Instance zugeordnet sind, ausgehenden HTTP- oder HTTPS-Datenverkehr zulassen.
Das folgende Beispiel zeigt eine benutzerdefinierte Netzwerk-ACL, die ausgehenden Datenverkehr über Port 80 und 443 zulässt:
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
Um auf Amazon Linux-Repositorys zuzugreifen, muss die Instance je nach der Konfiguration eine der folgenden Internetzugriffseinstellungen verwenden:
- Verwende für eine Instance in einem öffentlichen Subnetz ein Internet-Gateway.
- Verwende für eine Instance in einem privaten Subnetz ein NAT-Gateway oder eine NAT-Instance.
- Verwende für eine Instance in einem öffentlichen oder privaten Subnetz einen Virtual Private Cloud (VPC)-Endpunkt von Amazon Simple Storage Service (Amazon S3).
- Füge für eine Instance in einem privaten Subnetz mit einem Proxy die folgenden Parameter zur Konfigurationsdatei hinzu, um yum für die Verwendung eines Proxys zu konfigurieren:
Hinweis: Wenn du den Proxy bereits konfiguriert hast und dieselbe Konfigurationsdatei verwendest, ist das Proxy-Passwort in der Datei im Klartext sichtbar. Ersetze proxy-port durch den Port, den der Proxy verwendet, proxy-user-name durch deinen Proxy-Benutzernamen und proxy-password durch dein Proxy-Passwort. Weitere Informationen findest du unter Using yum with a proxy server (yum mit einem Proxy-Server verwenden) auf der Fedora Project-Website. Ändere für Amazon Linux 1 und Amazon Linux 2 die Datei /etc/yum.conf. Ändere für Amazon Linux 2023 die Datei /etc/dnf/dnf.conf.proxy=http://proxy-server-IP-address:proxy_port proxy_username=proxy-user-name proxy_password=proxy-password
Nachdem du die Instance konfiguriert hast, führe den folgenden curl-Befehl aus, um sicherzustellen, dass die Instance auf das Repository zugreifen kann.
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
Hinweis: Ersetze in den vorherigen Befehlen us-east-1 durch die AWS-Region deiner Instance.
Der Befehl curl ist auf allen Amazon Machine Images (AMIs) vorinstalliert. Du kannst jedoch ohne Anmeldeinformationen nicht auf die Amazon Linux-Repositorys zugreifen, und der Befehl curl kann die Anmeldeinformationen eines yum-Repositorys nicht annehmen. Wenn du den curl-Befehl ausführst, erhältst du eine Fehlermeldung über den verweigerten Zugriff, die dem folgenden Beispiel ähnelt:
$ 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
Teste mit dem curl-Befehl, ob das Timeout-Problem weiterhin auftritt. Die Beispielfehlermeldung zeigt, dass das Netzwerk erreichbar ist und das Timeout-Problem nicht mehr auftritt.
HTTP Error 403 – Forbidden
Du verwendest einen VPC-Endpunkt
Wenn du einen Amazon S3-VPC-Endpunkt verwendest, stelle sicher, dass die angefügte Richtlinie den API-Aufruf s3:GetObject basierend auf der Linux-Version zulässt.
Amazon Linux 2023: arn:aws:s3:::al2023-repos-region-de612dc2/*
Amazon Linux 1: arn:aws:s3:::packages.region.amazonaws.com/* und arn:aws:s3:::repo.region.amazonaws.com/*
Amazon Linux 2: arn:aws:s3:::amazonlinux.region.amazonaws.com/ und arn:aws:s3:::amazonlinux-2-repos-region/
Hinweis: Ersetze in den vorherigen Ressourcen die region durch die Region deiner Instance.
Weitere Informationen findest du unter Gateway-Endpunkte für Amazon S3.
Du verwendest einen Proxy
Wenn du einen Proxy für den Zugriff auf Amazon Linux-Repositorys verwendest, stelle sicher, dass die Subdomain .amazonaws.com in der Proxy-Konfiguration auf der Allowliste steht.
Du verwendest ein nicht unterstütztes Repository
Möglicherweise wird die folgende Fehlermeldung angezeigt: „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“. Dies ist ein bekanntes Problem, das auftritt, wenn du repo_gpgcheck in den Repository-Dateien im Verzeichnis /etc/yum.repos.d/ aktivierst, zum Beispiel in den Dateien repository.repo oder /etc/yum.conf. Bei Amazon Linux 2023-Repositorys ist die Metadatensignierung nicht aktiviert. Wenn du diese Konfiguration auch für nicht unterstützte Repositorys verwendest, schlagen Paketinstallationen oder Betriebssystem (OS)-Updates möglicherweise fehl. Um das Problem zu umgehen, öffne die Repository-Repo-Datei und setze den Wert von repo_gpgcheck für das Repository auf 0. Setze den Wert beispielsweise auf repo_gpgcheck=0.
Weitere Informationen zu dieser Situation findest du unter [Bug] - not able to install/upgrade packages after activating repo_gpgcheck auf der GitHub-Website.
Host: abcdexyz.$awsregion.$awsdomain konnte nicht aufgelöst werden
Das Verzeichnis /etc/yum/vars muss die Variablen awsdomain und awsregion enthalten. Um zu überprüfen, ob das Verzeichnis /etc/yum/vars die benutzerdefinierten yum-Variablen definiert, führe die folgenden Befehle aus:
$ cat /etc/yum/vars/awsregion us-east-1 $ cat /etc/yum/vars/awsdomain amazonaws.com
Hinweis: Ersetze us-east-1 durch die Region deiner Instance.
Die Instance muss den Domain-Namen der Amazon Linux-Repositorys ermitteln. Führe die folgenden Befehle aus, um die DNS-Auflösung der Instance zu überprüfen:
$ dig amazonlinux.us-east-1.amazonaws.com $ dig repo.us-east-1.amazonaws.com $ dig al2023-repos-us-east-1-de612dc2
Hinweis: Ersetze us-east-1 durch die Region deiner Instance.
Beachte, dass Abfragen an den von Amazon bereitgestellten DNS-Server unter der IPv4-Adresse 169.254.169.253 und der IPv6-Adresse fd00:ec2::253 erfolgreich sind. Abfragen an den von Amazon bereitgestellten DNS-Server an der reservierten IP-Adresse an der Basis des VPC-IPv4-Netzwerkbereichs plus zwei sind ebenfalls erfolgreich. Auf die IPv6-Adresse kann nur auf Nitro-gesteuerten EC2-Instances zugegriffen werden.
HTTP Error 407 – Proxy Authentication Required
Dieses Problem tritt auf, wenn der Proxy die Anforderung nicht abschließen kann, weil yum oder dnf nicht über die richtigen Authentifizierungsdaten für den Proxy-Server verfügen. Um yum oder dnf für die Verwendung eines Proxys zu konfigurieren, ändere die Konfigurationsdatei mit den folgenden Parametern:
proxy=http://proxy-server-IP-address:proxy_port proxy_username=proxy-user-name proxy_password=proxy-password
Hinweis: Wenn du den Proxy bereits konfiguriert hast und dieselbe Konfigurationsdatei verwendest, ist das Proxy-Passwort in der Datei im Klartext sichtbar. Ersetze proxy-port durch den Port, den der Proxy verwendet, proxy-user-name durch deinen Proxy-Benutzernamen und proxy-password durch dein Proxy-Passwort. Ändere für Amazon Linux 1 und Amazon Linux 2 die Datei /etc/yum.conf. Ändere für Amazon Linux 2023 die Datei /etc/dnf/dnf.conf.
Probleme mit Zeitüberschreitung
Führe den folgenden Befehl aus, um zu überprüfen, ob die Datei /etc/resolv.conf die richtige IP-Adresse für den DNS-Server hat:
cat /etc/resolv.conf nameserver YourDNSIP
Um den Standard-Timeout-Zeitraum von 5000 ms zu ändern, ändere den timeout-Wert in der yum-Konfigurationsdatei. Weitere Informationen findest du unter yum.conf auf der die.net-Website. Ändere für Amazon Linux 2023 den Wert metadata_expire in /etc/yum.repos.d/amazonlinux.repo, um den Timeout-Zeitraum zu ändern.
Führe den folgenden Befehl aus, um die Abfragezeit mit einem dig-Befehl zu überprüfen:
$ dig repo.us-east-1.amazonaws.com | grep time
Hinweis: Ersetze us-east-1 durch die Region deiner Instance.

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Monaten