Führen Sie zuerst '/usr/sbin/freebsd-update.fixed fetch' aus
Poudriere sollte wahrscheinlich überprüfen, ob freebsd-update Updates gefunden hat, bevor sie es anweisen, die (möglicherweise nicht vorhandenen) Updates zu installieren, um Benutzer nicht mit der obigen Meldung zu verwirren.
~/git/poudriere # grep 'Run.*first' `welches Freebsd-Update` echo "Führe zuerst '$0 install' aus." echo "Führe zuerst '$0 fetch' aus."
Das kommt von freebsd-update
.
Ohne mehr Kontext im Bericht bin ich mir nicht sicher, wo dies gezeigt wird und unter welchen Bedingungen.
Das Problem ist, dass jail.sh /usr/sbin/freebsd-update.fixed fetch install
ausführt. Wenn fetch
feststellt, dass keine Updates erforderlich sind (z. B. eine neue Version, die noch keine Sicherheitshinweise enthält), dann gibt install
die verwirrende Meldung aus.
Die Lösung besteht darin, /usr/sbin/freebsd-update.fixed fetch
auszuführen, zu überprüfen, ob Aktualisierungen abgerufen wurden, und dann /usr/sbin/freebsd-update.fixed install
auszuführen.
Wie kann ich feststellen, ob Updates abgerufen wurden?
Überprüfen Sie, ob /var/db/freebsd-update/f465c3739385890c221dff1a05e578c6cae0d0430e46996d319db7439f884336-install
ein Symlink ist.
Ich würde eine solche Ebenenverletzung lieber nicht machen und Poudriere von den internen Dateien von freebsd-update wie dieser abhängig machen. Ich werde die Nachricht stattdessen einfach aussenden (wie bei anderen Codes wie den tty-Prüfungen).
Wenn Poudriere erkennen kann, ob gerade ein Abruf durchgeführt wurde, warum druckt dann freebsd-update die Nachricht?
warum druckt freebsd-update die Nachricht?
Weil freebsd-update fetch install
ein Synonym für freebsd-update fetch; freebsd-update install
.
Richtig, aber Sie sagen mir, dass poudriere erkennen kann, ob gerade ein Update geholt wurde, also sollte freebsd-update install
in der Lage sein und keine sinnlose Nachricht ausgeben, wenn bereits nichts geholt wurde. Ein einfacher mtime-Vergleich würde hier funktionieren, wie wir es bei pkg update
tun, indem die Nachricht nur angezeigt wird, nachdem der letzte Abruf eine bestimmte Zeitspanne abgelaufen ist.
Ja, freebsd-update sollte das wahrscheinlich handhaben. Der Grund, warum ich das ursprünglich nicht gemacht habe, ist, dass ich die Leute nicht dazu ermutigen wollte, blind Updates herunterzuladen und zu installieren.
Aber selbst wenn ich freebsd-update behebe, ruft Poudriere an diesem Punkt mehrere Jahre lang den alten freebsd-update-Code auf.
Hilfreichster Kommentar
Ja, freebsd-update sollte das wahrscheinlich handhaben. Der Grund, warum ich das ursprünglich nicht gemacht habe, ist, dass ich die Leute nicht dazu ermutigen wollte, blind Updates herunterzuladen und zu installieren.
Aber selbst wenn ich freebsd-update behebe, ruft Poudriere an diesem Punkt mehrere Jahre lang den alten freebsd-update-Code auf.