Landschaft könnte für Sie von Interesse sein. Dies ist das "offizielle" Verwaltungstool für die Verwaltung großer Ubuntu-Bereitstellungen, und Canonical ist wahrscheinlich sehr daran interessiert, Ihre Dollars für die Verwendung zu erhalten.
RE-EDIT:
Erstens ein Haftungsausschluss; Ich habe keine Spiegelung für Debian oder Ubuntu verwendet, daher bin ich mit der Software nicht vertraut.
Zweitens scheint es, dass Apt-Mirror eine "zu schwere" Lösung wäre, entschuldige ich mich. Die ursprüngliche Idee war, dass Sie eine separate Testmaschine (oder Testumgebung, wahrscheinlich eine virtuelle Maschine?) Haben würden, auf der Sie das Update bereitstellen können. Sobald Sie mit der Leistung des Updates zufrieden sind, ziehen Sie das Paket in Ihren "Bereitstellungs" -Spiegel (es gibt den lokalen Spiegel aus den offiziellen Quellen und einen sekundären Spiegel nur für Updates, die Sie bereitstellen möchten). Die Remote-Computer führen dann zu einem voreingestellten Zeitpunkt ein Update aus und ziehen es von Ihrem "Bereitstellungs" -Spiegel auf jeden Computer. Ein Cron-Job besteht aus:
apt-get update && apt-get upgrade --quiet --assume-yes
Leider, als ich anfing, die Details durchzulesen, scheint es, dass apt-mirror
alle möglichen Dinge und nicht nur die Pakete, nach denen Sie suchen, gezogen werden. Also werde ich diese Idee aufgeben, obwohl das Konzept einen gewissen Wert hat.
Ein Mitarbeiter hat apt-dater entdeckt und kurz untersucht, bei dem es sich um einen "Terminal-basierten Remote-Paket-Update-Manager" handelt.
Sie verwenden eine fluchbasierte Oberfläche, um Aktualisierungen auf allen Ihren Hosts oder Hostgruppen usw. zu verwalten. Unterstützt die Protokollierung der vollständigen apt-Sitzung, einschließlich eventuell auftretender Fehler usw.
Verlässt sich auf ssh und sudo auf den verwalteten Maschinen.
siehe http://www.ibh.de/apt-dater/
Ich habe es selbst nicht benutzt, daher kann ich es nicht unterstützen, aber es klingt nah an dem, wonach Sie suchen.
quelle
Da Sie Puppet bereits verwenden, können Sie dies am einfachsten (und am besten für Änderungskontroll- / Verfolgungszwecke) tun, indem Sie die gewünschte Version der Pakete angeben, die im Puppet-Manifest installiert werden sollen. Sie behalten die Liste der Sicherheitsankündigungen im Auge, und wenn etwas, das Sie verwenden, durchkommt, aktualisieren Sie einfach Puppet und sagen "Installieren Sie diese neue Version dieses Pakets". Angenommen, Sie verwenden die Revisionskontrolle für Ihre Manifeste, dann wissen Sie, wann die "Richtlinie" geändert wurde, und die Berichte von Puppet zeigen Ihnen genau, wann die Änderung tatsächlich vorgenommen wurde (damit Sie dies leicht mit späteren Protokollereignissen korrelieren können).
quelle
Schauen Sie sich clusterssh an (apt-get install clusterssh):
$ cssh server1 server2 server3 ...
quelle
Ohne vorher wirklich darüber nachgedacht zu haben, wäre meine erste Idee etwas Ähnliches wie das, was avery vorgeschlagen hat, besonders wenn Sie bereits eine Testumgebung haben.
Grundsätzlich stellen Sie Ihre Produktionsmaschinen so ein, dass sie automatisch von Ihrem eigenen lokalen Repo aktualisiert werden, und Sie aktualisieren dieses Repo erst, nachdem Sie Ihre Testumgebung auf die neueste Version von allem aktualisiert haben, was Sie ausführen.
Apticron lässt sich nicht gut skalieren, es wurde entwickelt, um in ziemlich kleinen Umgebungen ausgeführt zu werden, aber es hat einige gute Punkte:
quelle
Vor einiger Zeit habe ich ein Fabric- Skript (Fabfile) für Low Level / Dirty Automation geschrieben, um ähnliche Anforderungen zu erfüllen. Sie können es unter folgender Adresse überprüfen:
https://gist.github.com/lgaggini/2be3c5bb47b8ce9267bd
quelle