it-swarm.com.de

Was ist Ihr Äquivalent zu 'apt-get update'?

Debians apt-get update ruft den Paketindex ab und aktualisiert ihn. Da ich an diese Art der Arbeit gewöhnt bin, war ich überrascht, dass yum update macht all das nd aktualisiert das System. Dies machte mich neugierig, wie ich den Paketindex aktualisieren kann, ohne etwas zu installieren.

99
tshepang

Das check-update Befehl aktualisiert den Paketindex und sucht nach verfügbaren Updates:

yum check-update
98
wag

Während yum check-update Aktualisierungen für installierte Pakete überprüft, werden die meisten anderen Befehle aktualisiert, wenn sie aktualisiert werden müssen.

Der Befehl, der genau dem von apt-get update Entspricht, ist yum makecache. Es wird jedoch im Allgemeinen nicht empfohlen, diesen Befehl direkt in yum auszuführen.

31
James Antill

Leider ruft yum check-update Standardmäßig keine Änderungen aus Remote-Repositorys ab, bis der Parameter metadata_expire von yum.conf Abgelaufen ist (Standard 90 m). Anscheinend besteht der Zweck darin, "zu wissen, ob auf Ihrem Computer Aktualisierungen vorhanden waren, die angewendet werden mussten, ohne sie interaktiv auszuführen". Im Grunde ist es also "zu überprüfen, ob Pakete aktualisierbar sind" und nicht "die Liste der Pakete zu aktualisieren, auf die ich aktualisieren könnte", wie Sie würde erwarten.

Wenn Sie also yum check-update Ausführen und Folgendes erhalten:

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

packagename      version     repo

Dies bedeutet, dass check-update nicht ein Update durchführt, wie dies bei apt-get update Der Fall ist.

Sie können sehen, wie lange es dauern wird, bis die "automatische Aktualisierung" ausgeführt wird, die alle Befehle darunter ausführen, indem Sie this : yum repolist enabled -v Ausführen.

Umgehen:

benutzeyum clean expire-cache (oder yum clean all) zuerst, dann aktualisieren alle zukünftigen yum-Befehle den Cache automatisch "wenn ausgeführt". . Da zukünftige yum-Befehle den Cache aktualisieren, entspricht dies in der Praxis apt-get update.

Oder ändern Sie den Parameter metadata_expire von yum.conf auf weniger als die Standard-90min, denke ich.

Oder führen Sie yum makecache (Aus den anderen Antworten) aus, um den Cache zu entfernen und sofort neue Kopien abzurufen. Aber es scheint länger zu dauern als clean all (?) FWIW.

23
rogerdpack

Dies ist daher der Befehl zum Aktualisieren des lokalen Caches

yum makecache

scheint der Befehl zu sein, nach dem Sie suchen, laut Arbeiten mit 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 beträgt 6 Stunden.

Es kann jedoch mindestens einen Anwendungsfall geben, der sich in einem Ansible-Playbook befindet, da Sie in einem Ansible-Playbook nicht die Möglichkeit haben, nur den Cache zu aktualisieren, ohne Pakete zu installieren (siehe Ansible-Probleme 461 = und 40068 , was in Version 2.8 behoben zu sein scheint, 4618 ). Das Ansible yum-Modul benötigt einen Paketnamen für die Option 'update_cache: yes', um eine Wirkung zu erzielen. Als Alternative kann '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.

2
Tufan K