GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Unbeaufsichtigte Upgrades auf Debian 11 installieren/aktivieren und konfigurieren

Ihr System auf dem neuesten Stand zu halten, ist ein wichtiger Faktor für jeden, von einfachen Desktop-Benutzern, Entwicklern, Systemadministratoren; Nun, seien wir ehrlich, jeder mit einem Gerät, das besonders mit dem Internet verbunden ist. Debian ist standardmäßig nicht für automatische Updates eingerichtet. Durch das Aktivieren und Konfigurieren von Paketen für unbeaufsichtigte Upgrades können Sie jedoch problemlos Sicherheits-, Paket- oder sogar neue Funktionsupgrades auf einfache, einfache und effiziente Weise anwenden, wenn Sie nicht immer die Zeit haben, dies zu überprüfen oder zu vergessen. IT wird dringend empfohlen, dies nur aus Sicherheitsgründen zu aktivieren.

Das folgende Tutorial zeigt, wie man unbeaufsichtigte Upgrades auf Debian 11 installiert und/oder aktiviert und konfiguriert .

Voraussetzungen

  • Empfohlenes Betriebssystem: Debian 11 Bullseye oder Debian 10, 9 oder jedes noch aktualisierte Debian-System.
  • Benutzerkonto: Ein Benutzerkonto mit sudo-Privilegien oder Root-Zugriff (su-Befehl) .

Betriebssystem aktualisieren

Aktualisieren Sie Ihr Debian 11 Betriebssystem, um sicherzustellen, dass alle vorhandenen Pakete auf dem neuesten Stand sind:

sudo apt update && sudo apt upgrade

Root- oder Sudo-Zugriff

Wenn Sie Ihr Konto beim Start mit Debian im Vergleich zu anderen Distributionen erstellen, erhält es standardmäßig nicht automatisch den Sudoers-Status. Sie müssen entweder Zugriff auf das Root-Passwort haben um den su-Befehl zu verwenden oder besuchen Sie unser Tutorial zum Hinzufügen eines Benutzers zu Sudoern unter Debian.

Installieren Sie das Paket für unbeaufsichtigte Upgrades

Erstens, wenn Sie unbeaufsichtigte Upgrades nicht installiert oder das Paket entfernt haben, müssen Sie es mit dem folgenden Befehl neu installieren:

sudo apt install unattended-upgrades

Standardmäßig sollte dies installiert sein.

Außerdem müssen Sie das apt-config-auto-update-Paket installieren wenn Sie möchten, dass Ihr Debian-System nach dem Anwenden von Upgrades, die einen automatischen Systemneustart erfordern, neu gestartet wird. Verwenden Sie dazu den folgenden Befehl:

sudo apt install apt-config-auto-update

Für Laptop-Benutzer müssen Sie das Paket powermgmt-base installieren wenn Sie beabsichtigen, unbeaufsichtigte Optionen zu verwenden, die Batterieoptionen verwenden.

sudo apt install powermgmt-base

Sobald die Installation abgeschlossen ist, sollte Debian standardmäßig den Prozess starten. Verwenden Sie zur Überprüfung den folgenden Befehl:

sudo systemctl status unattended-upgrades

Beispielausgabe:

Die folgenden systemctl-Befehle erklärt die Optionen, die Sie haben, um den Dienst für unbeaufsichtigte Upgrades zu starten, zu stoppen, beim Booten zu aktivieren, beim Booten zu deaktivieren oder neu zu starten:

So starten Sie die unbeaufsichtigten Dienste:

sudo systemctl start unattended-upgrades

So beenden Sie die unbeaufsichtigten Dienste:

sudo systemctl stop unattended-upgrades

So aktivieren Sie die unbeaufsichtigten Dienste beim Booten:

sudo systemctl enable unattended-upgrades

So deaktivieren Sie die unbeaufsichtigten Dienste beim Booten:

sudo systemctl disable unattended-upgrades

Um die unbeaufsichtigten Dienste neu zu starten:


sudo systemctl restart unattended-upgrades

Unbeaufsichtigte Upgrades konfigurieren

Nachdem wir ein unbeaufsichtigtes Upgrade überprüft oder installiert haben, bearbeiten wir nun die 50unbeaufsichtigten Upgrades config-Datei mit Ihrem bevorzugten Terminal-Texteditor. Von hier aus können Sie unbeaufsichtigte Upgrades aus einigen der Beispiele in diesem Tutorial konfigurieren und einige der anderen weniger verwendeten Optionen erkunden. die Dokumentation in der Konfigurationsdatei gibt eine gute Erklärung für jede Einstellung an sich.

Sie können dies mit dem folgenden Befehl tun:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Beispielfensteröffnung und erster Blick:

Erlaubte Ursprünge und Aktualisierungen

Das Paket für unbeaufsichtigte Upgrades verarbeitet keine Zeilen, die mit // syntax beginnen . Standardmäßig werden nur Sicherheitsupdates automatisch installiert, wie in den Zeilen unten gezeigt. Es wäre am besten, wenn Sie Sicherheitsupdates niemals deaktiviert haben; Sie können hier jedoch zusätzliche Optionen hinzufügen.

Um beispielsweise normale Paketaktualisierungen einzuschließen, die standardmäßig deaktiviert sind:

Ändern von:

//      "${distro_id}:${distro_codename}-updates";

In aktivieren ändern:

       "${distro_id}:${distro_codename}-updates";

Beispielkonfiguration, die standardmäßig geliefert wird (empfohlen für die meisten Benutzer):

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        // Extended Security Maintenance; doesn't necessarily exist for
        // every release and this system may not have it installed, but if
        // available, the policy for updates is such that unattended-upgrades
        // should also install from here by default.
        "${distro_id}ESMApps:${distro_codename}-apps-security";
        "${distro_id}ESM:${distro_codename}-infra-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

Beispiel in einer Live-Umgebung:

Um es noch weiter aufzuschlüsseln, die Optionen, die Sie neben den Standardeinstellungen aktivieren können:

  • “${distro_id}:${distro_codename}-updates“; – Diese Option entspricht der Ausführung von sudo apt update in Ihrem Terminal, um Paketaktualisierungen abzurufen. In den meisten Fällen ist dies nicht ratsam, da bestimmte Pakete beim Upgrade manuell eingegriffen werden müssen. Wenn Sie dieses Make-Set so einstellen, dass bestimmte Pakete auf die schwarze Liste gesetzt werden, werden Sie wissen, dass Probleme auftreten, wenn sie unbeaufsichtigt aktualisiert werden, wie später im Tutorial erklärt wird.
  • „${distro_id}:${distro_codename}-proposed“; – Diese Option zieht Updates aus dem Testing, dies wird definitiv nicht für alle Benutzer empfohlen, da die Pakete instabil sind und es möglicherweise nicht einmal in eine Live-Umgebung schaffen.
  • „${distro_id}:${distro_codename}-backports“; – Diese Option aktiviert Backports, die hauptsächlich zum Aktualisieren von Paketen verwendet werden. Dies ist normalerweise stabiler als vorgeschlagen, aber für eine pauschale Regel sollten Sie nachforschen, bevor Sie dies aktivieren, da dies zu Instabilität führen kann.

Pakete von Updates ausschließen

Bei Aktualisierungen können einige Pakete instabil werden oder vollständig abbrechen, wenn Sie den Vorgang nicht überwachen. Beispielsweise wird ein automatisches Nginx-Upgrade für einen Benutzer, der ModSecurity kompiliert hat, beschädigt. Sie müssen hier oft nichts ausfüllen; Dies gilt nur für dedizierte Server, auf denen Pakete ausgeführt werden, die ein Eingreifen erfordern.

Beachten Sie, dass es immer besser ist, die Python-Ausdrücke zu verwenden, um Pakete abzugleichen:

Beispiel von

// Python regular expressions, matching packages to exclude from upgrading
Unattended-Upgrade::Package-Blacklist {
    // The following matches all packages starting with linux-
//  "linux-";

    // Use $ to explicitely define the end of a package name. Without
    // the $, "libc6" would match all of them.
//  "libc6$";
//  "libc6-dev$";
//  "libc6-i686$";

Beispieländerung schließt Nginx-Webanwendung ebenfalls aus:

// Python regular expressions, matching packages to exclude from upgrading
Unattended-Upgrade::Package-Blacklist {
    // The following matches all packages starting with linux-
  "nginx";

    // Use $ to explicitely define the end of a package name. Without
    // the $, "libc6" would match all of them.
//  "libc6$";
//  "libc6-dev$";
//  "libc6-i686$";

Beispiel in einer Live-Umgebung:

Nicht verwendete Abhängigkeiten entfernen

Fahren Sie als Nächstes mit Nicht verwendete Abhängigkeiten automatisch entfernen fort die drei Optionen haben; der Standardwert ist falsch. Optional können Sie diese Einstellungen jedoch aktivieren. Wenn Sie ein Paket automatisch aktualisieren, werden im Grunde die Abhängigkeiten und/oder der Kernel und die alten, nicht mehr verwendeten Überbleibsel nicht mehr benötigt; es wird diese automatisch für Sie bereinigen und entfernen. Dies ist normalerweise für die meisten Benutzer immer sicher.

Wenn Sie dies nicht wünschen, lassen Sie die Zeile unberührt.

Beispiel aus:

// Remove unused automatically installed kernel-related packages
// (kernel images, kernel headers and kernel version locked tools).
// Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";

// Do automatic removal of newly unused dependencies after the upgrade
// Unattended-Upgrade::Remove-New-Unused-Dependencies "true";

// Do automatic removal of unused packages after the upgrade
// (equivalent to apt-get autoremove)
// Unattended-Upgrade::Remove-Unused-Dependencies "false";

Auch Beispieländerung:

// Remove unused automatically installed kernel-related packages
// (kernel images, kernel headers and kernel version locked tools).
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";

// Do automatic removal of newly unused dependencies after the upgrade
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";

// Do automatic removal of unused packages after the upgrade
// (equivalent to apt-get autoremove)
Unattended-Upgrade::Remove-Unused-Dependencies "true";

Beispiel in einer Live-Umgebung:

E-Mail-Benachrichtigungen

Das Einrichten von E-Mail-Benachrichtigungen wird empfohlen, insbesondere wenn Server unbeaufsichtigt ausgeführt werden. Bei der Einrichtung ist es eine großartige Option, E-Mail „bei Änderung“ auszuwählen, sodass Sie nur Benachrichtigungen erhalten, wenn sich die Software geändert hat. Alternativ können Sie „Nur bei Fehler“ auswählen, sodass Sie nur Benachrichtigungen erhalten, wenn ein Fehler aufgetreten ist.

Es wird empfohlen, bei Änderung auszuwählen, da Sie wissen sollten, welche Aktualisierungen in Ihrem System stattfinden. Sie können hier auch eine E-Mail-Adresse festlegen:

Beachten Sie, dass Sie dafür E-Mails auf Ihrem Server eingerichtet haben müssen, damit die Benachrichtigungen funktionieren.

Beispiel aus:

// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. A package that provides
// 'mailx' must be installed. E.g. "[email protected]"
//Unattended-Upgrade::Mail "";

Auch Beispieländerung:

// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. A package that provides
// 'mailx' must be installed. E.g. "[email protected]"
Unattended-Upgrade::Mail "[email protected]";

Beispiel in einer Live-Umgebung:

Die zweite Option für E-Mail-Benachrichtigungen ist, worüber tatsächlich berichtet werden soll. Für die meisten Benutzer ist nur On-Error oder On-Change ausreichend; Wenn Sie die Berichterstellung auf „Immer“ einstellen, werden möglicherweise viele unerwünschte E-Mails gesendet, aber für kritische Systeme kann dies gerechtfertigt sein.

Unten ist ein Beispiel für Only-on-Error, was für Desktop-Benutzer in Nicht-Produktions-/Webserver-Umgebungen in Ordnung ist:

Beispiel aus:

// Set this value to one of:
//    "always", "only-on-error" or "on-change"
// If this is not set, then any legacy MailOnlyOnError (boolean) value
// is used to chose between "only-on-error" and "on-change"
//Unattended-Upgrade::MailReport "on-change";

Auch Beispieländerung:

// Set this value to one of:
//    "always", "only-on-error" or "on-change"
// If this is not set, then any legacy MailOnlyOnError (boolean) value
// is used to chose between "only-on-error" and "on-change"
Unattended-Upgrade::MailReport "only-on-error";

Beispiel in einer Live-Umgebung:

Automatische Neustartoptionen

Scrollen Sie nach unten zur Option Automatischer Neustart. Standardmäßig ist dies ausgeschaltet, und auf fast allen Desktops und insbesondere Servern, auf denen dedizierte Software und/oder Dienste ausgeführt werden, ist dies nicht aktiviert, da dies häufig zu erheblichen Unterbrechungen dieser Softwaredienste führen kann.

Nehmen Sie dennoch an, Ihre Dienste dienen nur wenigen Personen. In diesem Fall kann es sinnvoll sein, diese Option zu haben. Linux/Ubuntu-Systeme werden normalerweise nur aufgrund eines kritischen Kernel-Linux-Updates neu gestartet, aber ich habe automatische Benachrichtigungen für Änderungen. Ich werde wissen, dass es getan werden muss, und kann es planen.

Beispiel aus:

// Automatically reboot *WITHOUT CONFIRMATION* if
//  the file /var/run/reboot-required is found after the upgrade
//Unattended-Upgrade::Automatic-Reboot "false";

Auch Beispieländerung:

// Automatically reboot *WITHOUT CONFIRMATION* if
//  the file /var/run/reboot-required is found after the upgrade
Unattended-Upgrade::Automatic-Reboot "true";

Beispiel in einer Live-Umgebung:

Wenn Sie die Option aktivieren, können Sie den Neustart mit angemeldeten oder nicht angemeldeten Benutzern festlegen. Dies sollte deaktiviert werden, da Benutzer, die sich angemeldet haben und aufgrund eines Neustarts abgemeldet werden, Unterbrechungen der Arbeitsumgebung verursachen können, ganz zu schweigen von der Frustration des angemeldeten Benutzers.

Wenn Sie dies jedoch bevorzugen, auf:

Beispiel aus:

// Automatically reboot even if there are users currently logged in
// when Unattended-Upgrade::Automatic-Reboot is set to true
//Unattended-Upgrade::Automatic-Reboot-WithUsers "true";

Auch Beispieländerung:

// Automatically reboot even if there are users currently logged in
// when Unattended-Upgrade::Automatic-Reboot is set to true
Unattended-Upgrade::Automatic-Reboot-WithUsers "true";

Beispiel in einer Live-Umgebung:

Wenn Sie einen kleinen Server in einer bestimmten Zeitzone haben und eine gute Zeit für einen Neustart kennen, sagen Sie 2 Uhr morgens, und passen Sie dann Folgendes an:

Beispiel aus:

// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
//  Default: "now"
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";

Auch Beispieländerung:

// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
//  Default: "now"
Unattended-Upgrade::Automatic-Reboot-Time "02:00";

Beispiel in einer Live-Umgebung:

Abschließende Checkliste für unbeaufsichtigte Upgrades

Um sicherzustellen, dass die automatischen Upgrade-Dateien im Verzeichnis /etc/apt/apt.conf.d/ vorhanden sind indem Sie die folgenden Befehle verwenden:

cd /etc/apt/apt.conf.d
ls

Beispielausgabe:

ls
00CDMountPoint	      10periodic      20packagekit	     60icons
00trustcdrom	      15update-stamp  20snapd.conf	     70debconf
01autoremove	      20archive       50appstream
01autoremove-kernels  20listchanges   50unattended-upgrades

Öffnen Sie nun die Datei /etc/apt/apt.conf.d/20auto-upgrades :

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

Beispielausgabe:

Sie sollten den folgenden Befehlscode in der folgenden Datei sehen. Wenn nicht, kopieren und einfügen:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Standardmäßig ist die Einstellung „1“ aktiviert. Wenn Sie es jedoch deaktivieren möchten, können Sie es auf „0“ ändern. Wenn Sie nicht täglich nachsehen möchten, ändern Sie die Zahl auf „2“, wodurch automatische Upgrades jeden zweiten Tag überprüft werden. In unserer Anleitung haben wir es beispielsweise nur auf 2 geändert. Wir empfehlen, diese Einstellung auf „1“ zu belassen:

Beispiel in einer Live-Umgebung:

Speichern Sie die Datei (STRG+O), dann drücken Sie Y , danach zum Beenden (CTRL+X) drücken um den Texteditor zu verlassen.

Cronjob für unbeaufsichtigte Upgrades erstellen

Wenn Sie die volle Kontrolle über das Timing Ihrer automatischen Upgrades haben möchten, können Sie optional einen Cronjob erstellen. Öffnen Sie dazu zunächst die Crontab:

sudo crontab -e

Als nächstes fügen Sie diese Zeile am Ende des letzten Eintrags hinzu; Sie können das „Timing“ beliebig ändern. Wenn Sie neu bei Linux sind, besuchen Sie Crontab.Guru, wo Sie Hilfe bekommen, Cron-Einstellungen vornehmen und testen können.

Unten wird demonstriert, genau jeden 3. Tag um 4:00 Uhr zu laufen.

Beispiel:

00 04 * * */3 /usr/bin/unattended-upgrade -v

Beispiel in einer Live-Umgebung:

Speichern Sie die Datei (STRG+O), dann drücken Sie Y , danach zum Beenden (CTRL+X) drücken um den Texteditor zu verlassen.

Zugriff auf Protokolle unbeaufsichtigter Upgrades

Zuletzt protokolliert unattended-upgrades in seinem Verzeichnis. Wenn Sie also die Protokolldateien auf Probleme überprüfen und Fehler finden möchten, können Sie sie unter folgendem Pfad finden:

/var/log/unattended-upgrades/

Zusätzliche Tools – Neustart prüfen (Debian Goodies)

Ein hervorragendes Programm zum Überprüfen, ob Sie zu einem Server zurückgekehrt sind, auf dem automatische Updates angewendet wurden, anstatt Protokolle oder E-Mails zu überprüfen, ist das Ausführen des checkrestart-Befehls das wird Sie informieren, wenn Pakete neu gestartet werden müssen.

Führen Sie den folgenden Befehl aus, um checkrestart zu installieren:

sudo apt install debian-goodies -y

Führen Sie nun den folgenden Befehl aus, um nach Paketen zu suchen, die einen Neustart erfordern:

sudo checkrestart


Beispielausgabe:

Found 0 processes using old versions of upgraded files

Wie Sie sehen können, ist der Computer, den das Tutorial verwendet, auf dem neuesten Stand; Wenn jedoch irgendetwas einen manuellen Neustart benötigt, wird es hier in der Ausgabe aufgeführt.


Debian
  1. So installieren Sie Tomcat 8.5 auf Debian 9

  2. So installieren Sie MongoDB unter Debian 9

  3. So installieren Sie Nginx unter Debian 9

  4. So installieren Sie Apache unter Debian 9

  5. So installieren Sie Jenkins unter Debian 9

So installieren und konfigurieren Sie Wine (WineHQ) unter Debian 11 Bullseye

Installieren und konfigurieren Sie GitLab unter Debian 11 Bullseye

So installieren und konfigurieren Sie Git unter Debian 11

So installieren und konfigurieren Sie Fail2ban unter Debian 11

SSH auf Debian 11 Bullseye installieren/aktivieren

So installieren Sie Go unter Debian 11