Błąd: Problem: cannot install the best update candidate for package remi-release-8.3-1.el8.remi.noarch
Błąd: Problem: cannot install the best update candidate for package remi-release-8.3-1.el8.remi.noarch - nothing provides redhat-release >= 8.10 needed by remi-release-8.10-2.el8.remi.noarch (dodanie „--skip-broken” pominie pakiety, których nie można zainstalować lub „--nobest” spowoduje użycie nie tylko najlepszych kandydatów)
Błąd, który napotkałeś podczas wykonywania yum update, wskazuje na problem z repozytorium REMI, które próbuje zaktualizować pakiet remi-release do wersji 8.10-2.el8.remi.noarch, ale wymaga zależności redhat-release >= 8.10, której nie ma w Twoim systemie CentOS 8. Jest to typowy problem, gdy repozytorium zewnętrzne (np. REMI) oczekuje nowszej wersji systemu, która nie jest dostępna w CentOS 8, szczególnie po jego EOL (End of Life) w grudniu 2021.
Poniżej znajdziesz kroki, jak rozwiązać ten problem:
Przyczyny błędu
- EOL CentOS 8: CentOS 8 nie otrzymuje już aktualizacji, a repozytoria zostały przeniesione do vault.centos.org. Nowsze wersje pakietów z repozytorium REMI mogą wymagać zależności, które nie są dostępne w zarchiwizowanych repozytoriach CentOS 8.
- Niezgodność wersji remi-release: Pakiet remi-release-8.10-2.el8.remi.noarch jest przeznaczony dla nowszej wersji systemu (np. CentOS Stream 8 lub RHEL 8.10), a Twój system nie spełnia wymagań.
- Konfliktujące repozytoria: Jeśli masz włączone dodatkowe repozytoria, mogą one powodować konflikty.
Rozwiązanie
Opcja 1: Użycie --nobest lub --skip-broken
Jak sugeruje komunikat błędu, możesz użyć opcji --nobest lub --skip-broken, aby pominąć problematyczne pakiety:
- Spróbuj z --nobest:
Opcja --nobest pozwala na instalację niekoniecznie najnowszych wersji pakietów, co może ominąć problem z zależnościami.bashsudo yum update --nobest -y
- Spróbuj z --skip-broken:
Opcja --skip-broken pomija pakiety, których nie można zainstalować z powodu brakujących zależności.bashsudo yum update --skip-broken -y
Uwaga: Te opcje są tymczasowym rozwiązaniem, ponieważ mogą pozostawić system z nieaktualnymi lub pominiętymi pakietami.
Opcja 2: Wyłączenie repozytorium REMI
Jeśli nie potrzebujesz pakietów z repozytorium REMI, możesz je tymczasowo wyłączyć podczas aktualizacji:
- Wyłącz repozytorium REMI:
To pozwoli zaktualizować system bez uwzględniania repozytorium REMI.bashsudo yum update --disablerepo=remi -y
- Sprawdź, które repozytoria są włączone:
Upewnij się, że repozytoria CentOS (np. baseos, appstream) wskazują na vault.centos.org.bashyum repolist
Opcja 3: Ręczna instalacja starszej wersji remi-release
Jeśli potrzebujesz repozytorium REMI, możesz zainstalować starszą wersję pakietu remi-release, która jest kompatybilna z CentOS 8:
- Usuń problematyczną wersję:
bashsudo yum remove remi-release
- Pobierz i zainstaluj starszą wersję remi-release: Pobierz kompatybilną wersję, np. remi-release-8.3-1.el8.remi.noarch.rpm:
bashsudo rpm -Uvh remi-release-8.3-1.el8.remi.noarch.rpm
- Wyczyść pamięć podręczną YUM:
bashsudo yum clean allsudo rm -rf /var/cache/yum/*
- Spróbuj ponownie zaktualizować:
bashsudo yum update -y
Opcja 4: Migracja do CentOS Stream 8
Ponieważ CentOS 8 jest już niewspierany, repozytorium REMI może wymagać nowszej wersji systemu, takiej jak CentOS Stream 8, która nadal otrzymuje aktualizacje. Możesz rozważyć migrację:
- Przeprowadź migrację do CentOS Stream:
Uwaga: Migracja do CentOS Stream zmienia system na wersję ciągłą (rolling release), co może wpłynąć na stabilność w środowiskach produkcyjnych.bashsudo dnf install centos-release-streamsudo dnf swap centos-linux-repos centos-stream-repossudo dnf distro-sync -y
- Po migracji zaktualizuj system:
bashsudo dnf update -y
Opcja 5: Ręczna edycja plików repozytorium
Jeśli problem dotyczy konfliktów w plikach repozytorium REMI, możesz ręcznie dostosować konfigurację:
- Otwórz plik repozytorium REMI:
bashsudo nano /etc/yum.repos.d/remi.repo
- Upewnij się, że repozytorium wskazuje na poprawną wersję: Sprawdź, czy baseurl w sekcji [remi] lub [remi-safe] wskazuje na odpowiednią wersję CentOS 8, np.:
ini[remi]name=Remi's RPM repository for Enterprise Linux 8enabled=1gpgcheck=1
- Zapisz zmiany i wyczyść pamięć podręczną:
bashsudo yum clean allsudo yum update -y
Dodatkowe uwagi
- Kopia zapasowa: Przed wprowadzeniem jakichkolwiek zmian wykonaj kopię zapasową systemu lub przynajmniej katalogu /etc/yum.repos.d/:
bashsudo cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
- Sprawdzenie DNS: Upewnij się, że Twój serwer może rozwiązywać nazwy domen (np. rpms.remirepo.net):
Jeśli nie działa, dodaj serwery DNS do /etc/resolv.conf:bashping rpms.remirepo.netininameserver 8.8.8.8nameserver 8.8.4.4
- Alternatywa dla CentOS 8: Ze względu na EOL CentOS 8, rozważ przejście na Rocky Linux lub AlmaLinux, które są w pełni kompatybilne z RHEL 8 i wspierane przez społeczność.
Weryfikacja
Po wykonaniu jednego z powyższych rozwiązań sprawdź, czy aktualizacja działa:
Jeśli błąd nadal występuje, podaj treść pliku /etc/yum.repos.d/remi.repo lub dokładny komunikat błędu, a pomogę go przeanalizować.




