Die regelmäßige Aktualisierung Ihres CentOS-Systems ist einer der wichtigsten Aspekte der allgemeinen Systemsicherheit. Wenn Sie die Pakete Ihres Betriebssystems nicht mit den neuesten Sicherheitspatches aktualisieren, machen Sie Ihren Computer anfällig für Angriffe.
Wenn Sie mehrere CentOS-Maschinen verwalten, kann die manuelle Aktualisierung der Systempakete zeitaufwändig sein. Selbst wenn Sie eine einzelne CentOS-Installation verwalten, übersehen Sie manchmal ein wichtiges Update. Hier kommen automatische Updates ins Spiel.
In diesem Tutorial gehen wir durch den Prozess der Konfiguration automatischer Updates auf CentOS 7. Dieselben Anweisungen gelten für CentOS 6.
Voraussetzungen #
Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
Installation von yum-cron-Paket #
Der yum-cron
-Paket können Sie den Befehl yum automatisch als Cron-Job ausführen, um nach Updates zu suchen, diese herunterzuladen und anzuwenden. Wahrscheinlich ist dieses Paket bereits auf Ihrem CentOS-System installiert. Wenn es nicht installiert ist, können Sie das Paket installieren, indem Sie den folgenden Befehl ausführen:
sudo yum install yum-cron
Sobald die Installation abgeschlossen ist, aktivieren und starten Sie den Dienst:
sudo systemctl enable yum-cron
sudo systemctl start yum-cron
Geben Sie den folgenden Befehl ein, um zu überprüfen, ob der Dienst ausgeführt wird:
systemctl status yum-cron
Informationen über den Status des yum-cron-Dienstes werden auf dem Bildschirm angezeigt:
● yum-cron.service - Run automatic yum updates as a cron job
Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled; vendor preset: disabled)
Active: active (exited) since Sat 2019-05-04 21:49:45 UTC; 8min ago
Process: 2713 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS)
Main PID: 2713 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/yum-cron.service
Yum-cron konfigurieren #
yum-cron wird mit zwei Konfigurationsdateien geliefert, die in /etc/yum
gespeichert sind Verzeichnis, die stündliche Konfigurationsdatei yum-cron-hourly.conf
und die tägliche Konfigurationsdatei yum-cron.conf
.
Der yum-cron
Der Dienst steuert nur, ob die Cron-Jobs ausgeführt werden oder nicht. Der yum-cron
Dienstprogramm wird von /etc/cron.hourly/0yum-hourly.cron
aufgerufen und /etc/cron.daily/0yum-daily.cron
Cron-Dateien.
Standardmäßig ist der stündliche Cron so konfiguriert, dass er nichts tut. Wenn Updates verfügbar sind, wird der tägliche Cron so eingestellt, dass er die verfügbaren Updates herunterlädt, aber nicht installiert und Nachrichten an stdout sendet. Die Standardkonfiguration ist ausreichend für kritische Produktionssysteme, bei denen Sie Benachrichtigungen erhalten und das Update manuell durchführen möchten, nachdem Sie die Updates auf Testservern getestet haben.
Die Konfigurationsdatei ist in Abschnitte strukturiert und jeder Abschnitt enthält Kommentare, die beschreiben, was jede Konfigurationszeile tut.
Um die yum-cron-Konfigurationsdatei zu bearbeiten, öffnen Sie die Datei in Ihrem Texteditor:
sudo nano /etc/yum/yum-cron-hourly.conf
Im ersten Abschnitt [commands]
Sie können die zu aktualisierenden Pakettypen definieren, Nachrichten und Downloads aktivieren und festlegen, dass Updates automatisch angewendet werden, wenn sie verfügbar sind. Standardmäßig ist die update_cmd
auf Standard gesetzt, wodurch alle Pakete aktualisiert werden. Wenn Sie automatische unbeaufsichtigte Updates einstellen möchten, wird empfohlen, den Wert auf security
zu ändern wodurch yum angewiesen wird, Pakete zu aktualisieren, die nur ein Sicherheitsproblem beheben.
Im folgenden Beispiel haben wir den update_cmd
geändert zu security
und aktivierte unbeaufsichtigte Updates durch Setzen von apply_updates
auf yes
:
[commands]
update_cmd = security
update_messages = yes
download_updates = yes
apply_updates = no
random_sleep = 360
Der zweite Abschnitt definiert, wie Nachrichten gesendet werden. Um Nachrichten sowohl an stdout als auch an E-Mail zu senden, ändern Sie den Wert von emit_via
an stdio,email
.
[emitters]
system_name = None
emit_via = stdio,email
output_width = 80
Im [email]
Abschnitt können Sie die Absender- und Empfänger-E-Mail-Adresse festlegen. Stellen Sie sicher, dass auf Ihrem System ein Tool zum Versenden von E-Mails installiert ist, z. B. mailx oder postfix.
[email]
email_from = [email protected]
email_to = [email protected]
email_host = localhost
Der [base]
-Abschnitt können Sie die in der yum.conf
definierten Einstellungen überschreiben Datei. Wenn Sie bestimmte Pakete von der Aktualisierung ausschließen möchten, können Sie den exclude
verwenden Parameter. Im folgenden Beispiel schließen wir die [mongodb
] Paket.
[base]
debuglevel = -2
mdpolicy = group:main
exclude = mongodb*
Sie müssen yum-cron
nicht neu starten Dienst, damit die Änderungen wirksam werden.
Protokolle anzeigen #
Überprüfen Sie mit grepto, ob die mit yum verknüpften Cron-Jobs ausgeführt werden:
sudo grep yum /var/log/cron
May 4 22:01:01 localhost run-parts(/etc/cron.hourly)[5588]: starting 0yum-hourly.cron
May 4 22:32:01 localhost run-parts(/etc/cron.daily)[5960]: starting 0yum-daily.cron
May 4 23:01:01 localhost run-parts(/etc/cron.hourly)[2121]: starting 0yum-hourly.cron
May 4 23:01:01 localhost run-parts(/etc/cron.hourly)[2139]: finished 0yum-hourly.cron
Der Verlauf der yum-Updates wird in /var/log/yum
protokolliert Datei. Sie können die neuesten Updates mit dem tail-Befehl anzeigen:
sudo tail -f /var/log/yum.log
May 04 23:47:28 Updated: libgomp-4.8.5-36.el7_6.2.x86_64
May 04 23:47:31 Updated: bpftool-3.10.0-957.12.1.el7.x86_64
May 04 23:47:31 Updated: htop-2.2.0-3.el7.x86_64