Naprawianie błędów yum: DNS, repozytoria i koniec wsparcia CentOS 7
Data publikacji:
Aktualizacja:
Artykuły > Naprawianie błędów yum: DNS, repozytoria i koniec wsparcia CentOS 7
Stan na rok 2026 i bezpieczne użytkowanie
Wniosek: przy błędzie yum sprawdź kolejno łączność sieciową, rozwiązywanie nazw DNS i konfigurację włączonych repozytoriów. Wsparcie CentOS Linux 7 zakończyło się 30 czerwca 2024 r.; zamiast opierać serwer produkcyjny na archiwalnych pakietach, zaplanuj przetestowaną migrację.
Czego się nauczysz
- Jak yum wykorzystuje metadane repozytorium i dlaczego komunikat „Nie można rozpoznać hosta” wskazuje na DNS.
- Jak oddzielić awarie routingu, programu rozpoznawania nazw, repozytorium i błędów cyklu życia systemu operacyjnego.
- Dlaczego obecne systemy z rodziny RHEL używają DNF nawet wtedy, gdy istnieje polecenie zgodności
yum.
Dla kogo: dla administratorów Linuksa diagnozujących błędy menedżera pakietów na starszym systemie z rodziny RHEL.
Aktualność na 2026 r.: poniższe polecenia CentOS 7 i adresy mirrorów pozostają materiałem historycznym. Repozytoria Vault nie zastępują dystrybucji otrzymującej poprawki bezpieczeństwa; przygotuj przetestowaną migrację na wspieraną platformę.
Uwaga dotycząca bezpieczeństwa: polecenia i przykłady konfiguracji z pierwotnego artykułu nie zostały ponownie uruchomione we współczesnym środowisku produkcyjnym. Przed użyciem sprawdź wspierane wersje, kopie zapasowe, kontrolę dostępu i procedurę wycofania w oddzielnym środowisku testowym.
Oficjalne źródła pierwotne
Przegląd
Gdy polecenie yum kończy się błędem, warto najpierw zrozumieć, jak menedżer wybiera repozytorium i pobiera jego metadane.
Jeśli nie będzie działać prawidłowo, zostanie wyświetlony komunikat "Could not retrieve mirrorlist http://mirrorlist.centos.org/? ..." lub "curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"".
Sprawdź więc kolejno połączenie sieciowe, DNS i pliki konfiguracyjne repozytoriów.
W kolejnych częściach opisano działanie yum oraz czynności diagnostyczne.
Spis treści
1. Co to jest yum?
yum jest menedżerem pakietów: polecenie takie jak "yum install httpd" rozwiązuje zależności i instaluje wymagane pakiety RPM.
W tym celu yum odczytuje konfigurację repozytoriów i pobiera z sieci metadane oraz pakiety.
1-1. Jak działa yum
Proces można streścić w dwóch krokach:
• yum wybiera źródło na podstawie plików repozytoriów skonfigurowanych na hoście.
• Następnie pobiera z tego źródła metadane i pakiety.
Definicje repozytoriów znajdują się w "/etc/yum.repos.d/" i wskazują yum źródła danych.
Plik repozytorium CentOS 7 zawierał na przykład następujące ustawienia.
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Wartość 'mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra' zawiera zmienne '$releasever', '$basearch' i '$infra'. W pierwotnym środowisku tworzyły one adres taki jak 'http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra='.
Adres ten zwracał listę mirrorów pokazaną w poniższym przykładzie historycznym.
http://ftp.riken.jp/Linux/centos/7.9.2009/os/x86_64/
http://ftp.nara.wide.ad.jp/pub/Linux/centos/7.9.2009/os/x86_64/
http://ftp.jaist.ac.jp/pub/Linux/CentOS/7.9.2009/os/x86_64/
http://mirrors.cat.net/centos/7.9.2009/os/x86_64/
http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/os/x86_64/
http://ftp.yz.yamagata-u.ac.jp/pub/linux/centos/7.9.2009/os/x86_64/
http://ty1.mirror.newmediaexpress.com/centos/7.9.2009/os/x86_64/
http://ftp-srv2.kddilabs.jp/Linux/packages/CentOS/7.9.2009/os/x86_64/
http://mirror.vastspace.net/centos/7.9.2009/os/x86_64/
http://mirror.nus.edu.sg/centos/7.9.2009/os/x86_64/
yum wybierał jeden z tych mirrorów i pobierał z niego metadane oraz pliki RPM.
2. Przyczyny nieprawidłowego działania programu yum
Na podstawie tego przepływu można wyróżnić trzy główne obszary diagnostyki.
2-1. Przyczyna 1: brak połączenia sieciowego
yum musi połączyć się z serwerem repozytorium, aby pobrać metadane i pliki RPM. Bez działającej trasy do Internetu lub właściwego mirrora wewnętrznego polecenie nie może kontynuować.
Jeśli polityka środowiska na to pozwala, sprawdź łączność IP poleceniem 'ping 8.8.8.8'. ICMP może być filtrowany, dlatego zweryfikuj też routing, reguły zapory oraz dostęp HTTP lub HTTPS do repozytorium.
2-2. Przyczyna 2: nie działa rozwiązywanie nazw DNS
Adresy repozytoriów używają nazw hostów, na przykład "http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=". Jeśli "mirrorlist.centos.org" nie zostanie rozwiązany na adres IP, yum zgłosi błąd "Could not resolve host".
Sprawdź DNS poleceniem 'ping google.com' albo, dokładniej, za pomocą 'getent hosts', 'dig' lub 'nslookup'. W razie błędu zweryfikuj konfigurację resolvera i dostępność serwerów DNS.
2-3. Przyczyna 3: brak lub błędna konfiguracja repozytorium
Jeżeli sieć i DNS działają, sprawdź pliki w "/etc/yum.repos.d/". Wyłączone repozytorium, nieaktualny URL lub nierozwinięta zmienna może pozbawić yum prawidłowego źródła.
Dla porównania poniższa historyczna konfiguracja CentOS 7 pokazuje podstawowe ustawienia repozytorium bazowego.
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
3. Podsumowanie
Przy problemach z yum sprawdź kolejno łączność sieciową, DNS i konfigurację repozytoriów.
W pierwotnym przypadku przyczyną był DNS. W systemie CentOS 7 trzeba dziś dodatkowo uwzględnić koniec wsparcia i zaplanować migrację.