Co to jest yum odpowiednik „apt-get update”?


86

Debian apt-get updatepobiera i aktualizuje indeks pakietu. Ponieważ jestem przyzwyczajony do tego sposobu robienia rzeczy, byłem zaskoczony, gdy odkryłem, że yum updateto wszystko i uaktualnia system. To mnie zainteresowało, jak zaktualizować indeks pakietu bez instalowania czegokolwiek.

Odpowiedzi:


90

check-updatePolecenie odświeżyć indeks opakowania i sprawdzić, czy dostępne są aktualizacje:

yum check-update

3
To polecenie pozwala ustalić, czy dostępne są aktualizacje dla zainstalowanych pakietów . yumzwraca listę wszystkich aktualizacji pakietów ze wszystkich repozytoriów, jeśli są one dostępne. apt-get updateOdśwież pliki indeksu, ale yum check-updatenie.
SuB

To nie działa, jeśli yumzostało ostatnio uruchomione, zobacz inne odpowiedzi na alternatywy ...
rogerdpack

29

Chociaż yum check-updatesprawdzi aktualizacje zainstalowanych pakietów, jeśli będzie trzeba je odświeżyć, podobnie będzie z większością innych poleceń.

Poleceniem, które jest dokładnie równoważne z ... apt-get updatejest yum makecachejednak generalnie nie zaleca się uruchamiania tego bezpośrednio, yum.


1
Nie rozumiem pierwszego zdania. Czy możesz przeformułować?
tshepang

8
Oznacza to, że inne yumpolecenia, np. yum upgradeBędą automatycznie uruchamiane w yum check-updaterazie potrzeby. Innymi słowy, yum upgradejest w zasadzie taki sam jak apt-get update; apt-get upgrade.
Mikel

Dziękuję Ci! mniam check-update nie pomógł mi przed błędami 404. Ale mniam makecache pomaga! Ogromne dzięki!
socketpair

W oryginale chodziło o automatyczną aktualizację repodanych w celu przedstawienia najnowszych informacji (coś, czego apt-get nie robi, a przynajmniej nie w 2011 roku). Po edycji jest to trochę dziwnie bezsensowne :(.
James Antill

Dlaczego nie zaleca się uruchamiania yum makecache? Jest wymieniony na stronie podręcznika i wydaje się, że działa jak apt-get update... zauważ także, że yum check-updatenie zawsze wykonuje odświeżanie, zobacz inne odpowiedzi, FWIW :)
rogerdpack

21

Niestety yum check-updatedomyślnie nie usuwa zmian ze zdalnych repozytoriów, dopóki yum.confnie upłynie parametr metadata_expire (domyślnie 90m). Najwyraźniej jego celem jest „wiedzieć, czy na twojej maszynie były jakieś aktualizacje, które należało zastosować bez uruchamiania jej interaktywnie”, więc po prostu „sprawdź, czy jakieś pakiety są zdolne do aktualizacji”, a nie „odśwież” listę pakietów, do których mógłbym zaktualizować „ spodziewałem się.

Więc jeśli uruchomisz yum check-updatei zdobędziesz to:

$ sudo yum check-update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile

packagename      version     repo

Oznacza to, że aktualizacja sprawdzająca nie wykonuje aktualizacji, podobnie jak apt-get updaterobi.

Możesz sprawdzić, ile czasu zajmie wykonanie „automatycznego odświeżania”, które wykonują wszystkie polecenia poniżej, uruchamiając to :yum repolist enabled -v

Obejść:

najpierw użyjyum clean expire-cache (lub yum clean all), a następnie wszelkie przyszłe polecenia yum automatycznie odświeżą pamięć podręczną „po uruchomieniu”. . Ponieważ przyszłe polecenia yum odświeżają pamięć podręczną, jest to w praktyce to samo co apt-get update.

Lub zmień parametr metadata_expire pliku yum.conf na mniejszy niż domyślny 90min.

Lub uruchom yum makecache(na podstawie innych odpowiedzi), który wydaje się usuwać pamięć podręczną i ściągać w tym czasie świeże kopie. Ale wydaje się, że zajmuje to więcej niż clean all(?) FWIW.


2
Nie jestem pewien, dlaczego ta odpowiedź marnieje na dole. To wydaje się oczywistą i prostą odpowiedzią.
cbmanica

2

Stąd polecenie aktualizacji lokalnej pamięci podręcznej

yum makecache

wydaje się być poleceniem, którego szukasz, zgodnie z podręcznikiem Praca z pamięcią podręczną Yum .

Zwykle nie powinieneś uruchamiać tego polecenia bezpośrednio, ponieważ yum już sprawdza i odświeża metadane w oparciu o wartość metadata_expire w yum.conf, domyślnie 6 godzin.

Jednak może istnieć co najmniej jeden przypadek użycia, który znajduje się w podręczniku Ansible, ponieważ nie ma sposobu, aby w podręczniku Ansible aktualizować pamięć podręczną tylko bez instalowania jakichkolwiek pakietów (patrz Ansible wydania 33461 i 40068 , które wydają się naprawić w wersji 2.8, 46183 ). Moduł Ansible yum wymaga nazwy pakietu dla opcji „update_cache: yes”, aby uzyskać efekt. Tak więc jako alternatywne „polecenie: mniam makecache” może być użyte w podręczniku.

dnf ma również komendę makecache, chociaż można również wymusić synchronizację metadanych za pomocą przełącznika --refresh.


Ta istniejąca odpowiedź już wspomina yum makecache; być może możesz rozszerzyć swoją odpowiedź, aby była bardziej użyteczna, na przykład wyjaśniając, dlaczego yum makecachenie jest zalecana lub co to dnfjest odpowiednik.
Stephen Kitt
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.