Wie kann ich Yum dazu bringen, Aktualisierungen eines lokalen Repositorys anzuzeigen, ohne den Cache zu leeren?

Wie kann ich Yum dazu bringen, Aktualisierungen eines lokalen Repositorys anzuzeigen, ohne den Cache zu leeren?

Ich habe ein lokales Yum-Repository eingerichtet, das ich zum Installieren von Test-Builds verwende. Für die Testzwecke werden meine Pakete versioniert von <svn version number>.<date>.<time>(z. B.12345.20110908.150404

Das Problem besteht darin, dass, wenn ich ein neues RPM erstelle, es in das Repository-Verzeichnis kopiere und ausführe createrepo $REPO_DIR, yum das neue RPM nicht als verfügbar erkennt.

$ cd $REPO_DIR
$ ls -1
repodata
package-12345.20110908.150404-1.x86_64.rpm
package-12345.20110908.174329-1.x86_64.rpm

$ createrepo .
# ...snip...

$ rpm -q package
package-12345.20110908.150404-1.x86_64

$ yum list --showduplicates package
Installed Packages
package.x86_64    12345.20110908.150404-1    @repo
Available Packages
package.x86_64    12345.20110908.150404-1    repo

Ich kann die Aktualisierungen sehen und sie abrufen, wenn ich sie ausführe yum clean allund dann die Metadaten erneut abrufe, aber ich glaube, das bedeutet nur, dass ich etwas anderes vom Repo aus tun muss, da ich das für andere Yum-Repos nicht tun muss.

Wie muss ich mein lokales Repository einrichten, sodass ich es nur yum updatevom Client aus ausführen muss, ohne meinen Yum-Cache leeren zu müssen?

Antwort1

Sie können „yum clean expire-cache“ ausführen. Dies ist eine viel effizientere Möglichkeit, Yum anzuweisen, die Repos zu überprüfen. ... Sie könnten auch den metadata_expire-Wert für das lokale Repo ändern. (siehe man yum.conf).

Antwort2

Versuchen Sie, auf Yum-Clients die folgende Zeile in /etc/yum.conf hinzuzufügen:

metadata_expire=1 Min.

Der folgende Befehl zeigt Ihnen weitere Informationen:

man yum.conf

Zu Ihrer Information: Bei CentOS 5 ist der Parameter auskommentiert. Bei CentOS 6.2 ist der Wert 90m.

Antwort3

yum clean metadatabereinigt nur die zwischengespeicherten Namen usw., wonach Yum seine Vorstellung dessen, was verfügbar ist, neu lädt.

Antwort4

yum's --enablerepo=localrpmrepo ist die Option, nach der Sie suchen.

yum --enablerepo=localrpmrepo clean metadata

Ersetzen Sie localrpmrepo durch den Namen Ihres Repositorys

verwandte Informationen