mniam zawiesza się i nie odpowiada

37

Pracuję yum check-updatei zawiesza się po 2 liniach danych wyjściowych:

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

Nie jestem pewien, co się dzieje. Ostatnimi rzeczami, które pamiętam, robiłem z yum yum updatei patrzyłem na jedno z repozytoriów mumia CentOS, ale nie wprowadziłem żadnych zmian.

Wszelkie sugestie, aby naprawić mniam?

Barrista
źródło

Odpowiedzi:

22

Być może masz problem z DNS. Spróbuj upewnić się, że możesz rozpoznać rekordy DNS lokalnie:

nslookup google.com

Jeśli otrzymałeś adres IP z powrotem z tego polecenia, powinieneś być w porządku dla DNS. Następnie spróbuj usunąć pamięć podręczną najszybszy błąd i ponownie uruchomić polecenie yum:

rm -f /var/cache/yum/timedhosts.txt

Garrett
źródło
1
Otrzymałem adres IP z powrotem z tego polecenia. timedhosts.txt był pustym plikiem tekstowym, ale mimo to próbowałem go usunąć. Następnie zmieniłem polecenie mniam. Niestety nie ma sukcesu. Nadal wisi w tym samym miejscu, „Określanie najszybszych kopii lustrzanych”. Jeśli uruchomię gadatliwie, dostaję Ładowanie wtyczki „najszybszy błąd” Czas konfiguracji: 0,094 Mniam Wersja: 3.2.22 Konfigurowanie worków pakietów Ładowanie prędkości lustrzanych z buforowanego pliku
hosta
10
Aby wykluczyć problem z najszybszą wtyczką, spróbuj uruchomić yum bez żadnych wtyczek:yum --noplugins check-update
Garrett
67

Wszystko to nie działało ze mną.

Korzystanie z CentOS i yum. mniam zawiesza się przynajmniej bez komunikatu o błędzie, więc się pojawia. Naciśnięcie Ctrl+ Cnie działa (naciskanie go raz za razem i jeszcze raz i jeszcze raz działa).

Należy sprawdzić kilka rzeczy: - czy repozytoria są w porządku? - czy praca w sieci jest w porządku? - czy bazy danych yum i rpm są w porządku?

Najpierw zacznij od łatwych rzeczy - wyczyść bazy danych:

rm -f /var/lib/rpm/__*
rpm --rebuilddb -v -v   
yum clean all

Jeśli to nie zadziała, możesz ustawić poziom debugowania, poziom błędu i limit czasu dla yum w /etc/yum.conf:

debuglevel=1
errorlevel=1
timeout=1

Limit czasu wynosi standardowo 30 sekund. Jeśli więc repozytorium nie odpowiada, pojawienie się błędu zajmuje 30 sekund. Spróbuj także użyć yum bez wtyczek (takich jak najszybsze dublowanie i priorytety) z tą opcją --noplugins. Teraz ponowne rozpoczęcie yum powinno dać ci więcej informacji szybciej. Testuj z:

yum --verbose --noplugins info

Możesz dostać coś takiego:

 Config time: 0.105
 Yum Version: 3.2.22
 Setting up Package Sacks
 Loading mirror speeds from cached hostfile
 * base: mirror.nl.leaseweb.net
 * extras: mirror.nl.leaseweb.net
 * ius: mirrors.ircam.fr
 * rpmforge: mirror.nl.leaseweb.net
 * updates: mirror.nl.leaseweb.net link-to-server-repository/repomd.xml: [Errno 4] IOError: urlopen error (97, 'Address family not supported by protocol') 
 Trying other mirror.

Oznacza to, że z serwera nie można uzyskać żadnych informacji. Wypróbuj adres URL wyświetlany w yum (wskazany powyżej jako link do repozytorium serwera) w przeglądarce internetowej. Skopiuj i wklej go z odpowiedzi yum, nie z tego postu! Jeśli otrzymasz listę, wiesz, że repozytorium jest online.

Jeśli pojawi się błąd w przeglądarce, spróbuj usunąć to repozytorium /etc/yum.repos.d. Spróbuj pobrać listę na serwerze za pomocą wget i wklej adres URL:

wget link-to-server-repository/repomd.xml

Jeśli spowoduje to przekroczenie limitu czasu, oznacza to problem z ustawieniami zapory lub serwera proxy. Spróbuj wyłączyć zaporę.

Jeśli csfdziałasz (ConfigServer Security and Firewall) i lfdmożesz wyłączyć csf za pomocą:

csf -x

Spróbuj ponownie yum, a jeśli to zadziała, będziesz musiał ponownie skonfigurować csf. Włącz csfponownie za pomocą:

csf -e

Sprawdź także ustawienia proxy. Możesz także spróbować zmienić https na http w plikach .repo pod adresem /etc/yum.repos.d/.

użytkownik179734
źródło
1
Ta odpowiedź jest warta znacznie więcej niż 4 głosy poparcia = (
mveroone
Wiele dobrych informacji tutaj. Zwiększenie poziomu debugowania i uruchomienia yum --verbose --noplugins infodoprowadziło mnie do znalezienia „Błąd: nie można pobrać metadanych repozytorium (repomd.xml) dla repozytorium: base. Sprawdź swoją ścieżkę i spróbuj ponownie”, który badam teraz. Mój DNS działa, więc nie powinno być problemu.
harperville
3
Ważnym punktem, który wydaje się brakować w tej odpowiedzi, jest to, że yum checkwypełnienie go może potrwać kilka godzin! Więcej informacji: centos.org/forums/viewtopic.php?f=14&t=46676
gmas80
Pierwszy kod działał ze mną .. dzięki.
Maher Abuthraa,
Oczyszczanie bazy danych również działało dla mnie
frostymarvelous
2

Miałem podobny problem. Okazało się, że to stary adres DNS w resolv.conf. Zmieniłem adres IP na poprawny i to rozwiązało problem.

Joe Sułkowski
źródło
Pod Vagrant może się to zdarzyć.
bbaassssiiee
0

Wystąpił podobny problem, a przyczyną była obecność pliku blokady yum, w /var/run/yum.pidktórym poprzedni przebieg yum pozostawił go z powodu błędu krytycznego.

Usunąłem go sudo rm /var/run/yum.pidi problem został rozwiązany.

bekce
źródło
0

Niestety, nie mam wystarczającej reputacji, aby zapytać o ten komentarz powyżej:

Wypróbowując to rozwiązanie, zauważyłem, że wszystko działałoby dobrze przy użyciu opcji --noplugins. Po binarnym wyszukiwaniu wśród wtyczek odkryłem, że to menedżer subskrypcji był tym, który powodował wszystkie problemy. Wyłączyłem to i voilà! - Mariuslp

@mariuslp, mogę także uruchomić yum, dodając --noplugins. Czy możesz podać więcej szczegółów na temat tego, jak przeprowadziłeś „wyszukiwanie binarne wśród wtyczek” i co w wyniku tego wyszukiwania pozwoliło ustalić, co było przyczyną problemów? Dzięki!

cniggeler
źródło