Debian apt-get update
ruft den Paketindex ab und aktualisiert ihn. Da ich an diese Vorgehensweise gewöhnt bin, war ich überrascht, dass yum update
dies alles funktioniert und das System aktualisiert. Das hat mich neugierig gemacht, wie man den Paketindex aktualisiert, ohne etwas zu installieren.
package-management
yum
apt
Tshepang
quelle
quelle
yum
Gibt eine Liste aller verfügbaren Paketaktualisierungen aus allen Repositorys zurück.apt-get update
Indexdateien aktualisieren,yum check-update
aber nicht.yum
bereits in letzter Zeit ausgeführt wurde, finden Sie unter den anderen Antworten Alternativen ...Während
yum check-update
Updates für installierte Pakete überprüft werden, werden bei Bedarf auch die meisten anderen Befehle aktualisiert.Der Befehl, der genau dem entspricht,
apt-get update
lautetyum makecache
... es wird jedoch im Allgemeinen nicht empfohlen, den Befehl direkt in yum auszuführen.quelle
yum
Befehle, z. B.yum upgrade
,yum check-update
bei Bedarf automatisch ausgeführt werden. Mit anderen Wortenyum upgrade
ist im Grunde das gleiche wieapt-get update; apt-get upgrade
.yum makecache
? Es ist in der Manpage aufgeführt und scheint zu funktionieren wieapt-get update
... auch beachten Sie, dassyum check-update
nicht immer eine Aktualisierung durchgeführt wird, siehe andere Antworten, FWIW :)Leider
yum check-update
werden Änderungen aus Remote-Repositorys standardmäßig erst nachyum.conf
Ablauf des metadata_expire-Parameters abgerufen (Standardeinstellung: 90 m). Anscheinend lautet der Zweck "Wissen, ob auf Ihrem Computer Updates vorhanden waren, die angewendet werden mussten, ohne sie interaktiv auszuführen". Im Grunde bedeutet dies "Überprüfen, ob Pakete aktualisierbar sind" und nicht "Aktualisieren der Liste der Pakete, auf die ich aktualisieren könnte" würde erwarten.Also, wenn du rennst
yum check-update
und das bekommst:Dies bedeutet, dass check-update keine Aktualisierung durchführt, wie dies auch der
apt-get update
Fall ist.Sie können sehen , wie lange es den „Auto - Refresh“ , bevor Sie , dass alle Befehle unterhalb tun nehmen, indem Sie diese :
yum repolist enabled -v
Umgehen Sie:
benutze
yum clean expire-cache
(oderyum clean all
) zuerst, dann werden alle zukünftigen yum-Befehle den Cache "beim Ausführen" automatisch aktualisieren. . Da zukünftige yum-Befehle den Cache aktualisieren, ist dies in der Praxis dasselbe wieapt-get update
.Oder ändern Sie den Parameter metadata_expire von yum.conf auf weniger als die Standardeinstellung von 90 Minuten, denke ich.
Oder führen Sie
yum makecache
(aus den anderen Antworten) den Befehl aus, der den Cache zu entfernen scheint, und rufen Sie dann neue Kopien ab. Aber es scheint länger zu dauern alsclean all
(?) FWIW.quelle
Dies ist der Befehl zum Aktualisieren des lokalen Caches
scheint der gesuchte Befehl zu sein, laut Working with Yum cache .
Normalerweise sollten Sie diesen Befehl nicht direkt ausführen müssen, da yum bereits Metadaten basierend auf dem Wert metadata_expire in yum.conf überprüft und aktualisiert. Der Standardwert ist 6 Stunden.
Allerdings könnte es mindestens ein Anwendungsfall sein , die in einem ansible Textbuch ist, da Sie nicht über eine Art und Weise in einem ansible Textbuch müssen nur den Cache aktualisieren , ohne alle Pakete zu installieren (siehe ansible gibt 33461 und 40068 , die scheint behoben werden in Version 2.8, 46183 ). Ansible yum-Modul benötigt einen Paketnamen, damit die Option 'update_cache: yes' wirksam wird. Als Alternative kann also 'command: yum makecache' im Playbook verwendet werden.
dnf hat auch einen makecache-Befehl, obwohl es auch möglich ist, die Metadatensynchronisation mit dem Schalter --refresh zu erzwingen.
quelle
yum makecache
; Vielleicht können Sie Ihre Antwort erweitern, um sie nützlicher zu machen, indem Sie beispielsweise erläutern, warum diesyum makecache
nicht empfohlen wird oder was dasdnf
Äquivalent ist.