Debian apt-get update
pobiera i aktualizuje indeks pakietu. Ponieważ jestem przyzwyczajony do tego sposobu robienia rzeczy, byłem zaskoczony, gdy odkryłem, że yum update
to wszystko i uaktualnia system. To mnie zainteresowało, jak zaktualizować indeks pakietu bez instalowania czegokolwiek.
package-management
yum
apt
tshepang
źródło
źródło
yum
zwraca listę wszystkich aktualizacji pakietów ze wszystkich repozytoriów, jeśli są one dostępne.apt-get update
Odśwież pliki indeksu, aleyum check-update
nie.yum
zostało ostatnio uruchomione, zobacz inne odpowiedzi na alternatywy ...Chociaż
yum check-update
sprawdzi 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 update
jestyum makecache
jednak generalnie nie zaleca się uruchamiania tego bezpośrednio, yum.źródło
yum
polecenia, np.yum upgrade
Będą automatycznie uruchamiane wyum check-update
razie potrzeby. Innymi słowy,yum upgrade
jest w zasadzie taki sam jakapt-get update; apt-get upgrade
.yum makecache
? Jest wymieniony na stronie podręcznika i wydaje się, że działa jakapt-get update
... zauważ także, żeyum check-update
nie zawsze wykonuje odświeżanie, zobacz inne odpowiedzi, FWIW :)Niestety
yum check-update
domyślnie nie usuwa zmian ze zdalnych repozytoriów, dopókiyum.conf
nie 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-update
i zdobędziesz to:Oznacza to, że aktualizacja sprawdzająca nie wykonuje aktualizacji, podobnie jak
apt-get update
robi.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żyj
yum clean expire-cache
(lubyum 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 coapt-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.źródło
Stąd polecenie aktualizacji lokalnej pamięci podręcznej
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.
źródło
yum makecache
; być może możesz rozszerzyć swoją odpowiedź, aby była bardziej użyteczna, na przykład wyjaśniając, dlaczegoyum makecache
nie jest zalecana lub co todnf
jest odpowiednik.