GNU/Linux >> Znalost Linux >  >> Debian

Nainstalujte/povolte a nakonfigurujte bezobslužné upgrady na Debianu 11

Udržování vašeho systému v aktuálním stavu je důležitým faktorem pro kohokoli od jednoduchých uživatelů desktopů, vývojářů, systémových administrátorů; no, přiznejme si to, kdokoli se zařízením, které je zvláště připojeno k internetu. Debian ve výchozím nastavení není nastaven na automatické aktualizace. S povolením a konfigurací balíčků bezobslužných aktualizací však můžete snadno použít aktualizace zabezpečení, balíčků nebo dokonce nových funkcí snadným, jednoduchým a efektivním způsobem, pokud nemáte vždy čas kontrolovat nebo zapomínat. Důrazně se doporučuje povolit toto pouze kvůli bezpečnosti.

Následující návod ukáže, jak nainstalovat nebo povolit a nakonfigurovat bezobslužné upgrady na Debian 11 .

Předpoklady

  • Doporučený operační systém: Debian 11 Bullseye nebo Debian 10, 9 nebo jakýkoli stále aktualizovaný systém Debian.
  • Uživatelský účet: Uživatelský účet s právy sudo nebo přístup root (příkaz su) .

Aktualizace operačního systému

Aktualizujte svůj Debian 11 operační systém, abyste se ujistili, že všechny existující balíčky jsou aktuální:

sudo apt update && sudo apt upgrade

Root nebo Sudo Access

Ve výchozím nastavení, když vytvoříte svůj účet při spuštění s Debianem v porovnání s jinými distribucemi, automaticky nezíská status sudoers. Musíte mít přístup k heslu uživatele root použijte příkaz su nebo navštivte náš tutoriál Jak přidat uživatele do Sudoers na Debianu.

Instalace balíčku bezobslužných upgradů

Za prvé, pokud jste nenainstalovali bezobslužné aktualizace nebo jste odstranili balíček, musíte jej znovu nainstalovat pomocí následujícího příkazu:

sudo apt install unattended-upgrades

Ve výchozím nastavení by to mělo být nainstalováno.

Budete také muset nainstalovat balíček apt-config-auto-update pokud chcete, aby se váš systém Debian restartoval po použití aktualizací vyžadujících automatické restartování systému. Chcete-li to provést, použijte následující příkaz:

sudo apt install apt-config-auto-update

Uživatelé notebooků si budou muset nainstalovat balíček powermgmt-base pokud plánujete využít jakékoli bezobslužné možnosti využívající možnosti baterie.

sudo apt install powermgmt-base

Po dokončení instalace by měl Debian ve výchozím nastavení spustit proces. Pro ověření použijte následující příkaz:

sudo systemctl status unattended-upgrades

Příklad výstupu:

Následující příkazy systemctl vysvětlí možnosti, které musíte spustit, zastavit, povolit při spuštění, zakázat při spuštění nebo restartovat službu bezobslužných upgradů:

Spuštění bezobslužných služeb:

sudo systemctl start unattended-upgrades

Zastavení bezobslužných služeb:

sudo systemctl stop unattended-upgrades

Povolení bezobslužných služeb při spouštění:

sudo systemctl enable unattended-upgrades

Zakázání bezobslužných služeb při spouštění:

sudo systemctl disable unattended-upgrades

Restartování bezobslužných služeb:


sudo systemctl restart unattended-upgrades

Konfigurace bezobslužných upgradů

Po kontrole nebo instalaci bezobslužného upgradu nyní upravíme 50 bezobslužných upgradů konfigurační soubor pomocí vašeho oblíbeného terminálového textového editoru. Odtud můžete konfigurovat bezobslužné upgrady z některých příkladů v tomto tutoriálu a prozkoumat některé další méně používané možnosti; dokumentace v konfiguračním souboru poskytuje dobré vysvětlení každého nastavení samo o sobě.

Můžete to provést pomocí následujícího příkazu:

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

Příklad otevření okna a první pohled:

Povolené zdroje a aktualizace

Balíček unattended-upgrades nezpracuje řádky začínající // syntaxí . Ve výchozím nastavení se automaticky instalují pouze aktualizace zabezpečení, jak je znázorněno na řádcích níže. Nejlepší by bylo, kdybyste aktualizace zabezpečení nikdy nezakázali; zde však můžete přidat další možnosti.

Chcete-li například zahrnout normální aktualizace balíčků, které jsou ve výchozím nastavení vypnuté:

Změnit z:

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

Změnou aktivujte:

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

Příklad konfigurace, která je součástí výchozího nastavení (doporučeno pro většinu uživatelů):

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";
};

Příklad v živém prostředí:

Chcete-li to ještě více rozebrat, možnosti, které můžete povolit kromě výchozího nastavení:

  • “${distro_id}:${distro_codename}-updates“; – tato možnost bude stejná jako spuštění aktualizace sudo apt ve vašem terminálu pro stahování aktualizací balíčků. Nejčastěji se to nedoporučuje, protože některé balíčky vyžadují ruční zásah při upgradu. Pokud nastavíte tuto sadu na černou listinu určitých balíčků, víte, že při aktualizaci bez dozoru způsobí problémy, jak je vysvětleno dále v tutoriálu.
  • “${distro_id}:${distro_codename}-proposed“; – tato možnost stáhne aktualizace z testování, toto se rozhodně nedoporučuje všem uživatelům, protože balíčky jsou nestabilní a nemusí se dokonce dostat do živého prostředí.
  • “${distro_id}:${distro_codename}-backports“; – tato možnost povolí zpětné porty, které se používají hlavně k aktualizaci balíčků, což je obvykle stabilnější než navrhované, ale pro všeobecné pravidlo byste si to měli před zapnutím prozkoumat, protože to může způsobit nestabilitu.

Vyloučit balíčky z aktualizací

S aktualizacemi se některé balíčky mohou stát nestabilními nebo se mohou úplně rozbít, pokud na proces nedohlížíte. Například automatický upgrade Nginx pro uživatele s kompilovaným ModSecurity se přeruší; často zde nebudete muset nic vyplňovat; toto je pouze pro dedikované servery, na kterých běží balíčky, které vyžadují zásah.

Všimněte si, že je vždy lepší použít výrazy python pro shodu balíčků:

Příklad od

// 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$";

Příklad změny také vylučuje webovou aplikaci Nginx:

// 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$";

Příklad v živém prostředí:

Odstranit nepoužívané závislosti

Dále přejděte na automatické odstranění nepoužívaných závislostí které mají tři možnosti; výchozí hodnota je false. Volitelně však můžete tato nastavení povolit. V zásadě platí, že pokud automaticky aktualizujete balíček, závislosti a/nebo jádro a staré již nepoužívané zbytky již nejsou vyžadovány; automaticky je vyčistí a odstraní. To je obvykle pro většinu uživatelů vždy bezpečné.

Pokud si to nepřejete udělat, ponechte řádek nedotčený.

Příklad z:

// 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";

Příklad změny:

// 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";

Příklad v živém prostředí:

E-mailová upozornění

Nastavení e-mailových upozornění se doporučuje, zejména pokud servery běží bez obsluhy. V nastavení je skvělou možností vybrat e-mail „při změně“, takže budete dostávat upozornění pouze na změnu softwaru. Případně můžete zvolit „pouze při chybě“, takže budete dostávat upozornění pouze v případě, že dojde k chybě.

Doporučuje se vybrat při změně, protože byste měli vědět, jaké aktualizace se ve vašem systému dějí. Zde můžete také nastavit e-mailovou adresu:

Upozorňujeme, že to bude vyžadovat, abyste měli na serveru nastavené e-maily, aby upozornění fungovala.

Příklad z:

// 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 "";

Příklad změny:

// 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]";

Příklad v živém prostředí:

Druhou možností pro e-mailová upozornění je, o čem se vlastně hlásit. Pro většinu uživatelů stačí pouze při chybě nebo při změně; nastavení hlášení na vždy způsobí potenciálně mnoho nechtěných e-mailů, ale u kritických systémů to může být opodstatněné.

Níže je uveden příklad pro only-on-error, který je vhodný pro uživatele stolních počítačů v neprodukčním prostředí/prostředí webového serveru:

Příklad z:

// 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";

Příklad změny:

// 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";

Příklad v živém prostředí:

Možnosti automatického restartu

Přejděte dolů na možnost Automatický restart. Ve výchozím nastavení je toto vypnuto a téměř všechny stolní počítače a zejména servery se speciálním softwarem a/nebo službami toto nebudou mít zapnuté, protože to může často způsobit velké přerušení těchto softwarových služeb.

Přesto předpokládejme, že vaše služby slouží jen několika lidem. V takovém případě může být vhodné tuto možnost zapnout. Systémy Linux/Ubuntu se typicky restartují pouze kvůli aktualizaci jádra Linuxu, která je kritická, ale mám automatická upozornění na změnu. Budu vědět, že to bude potřeba udělat, a mohu to naplánovat.

Příklad z:

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

Příklad změny:

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

Příklad v živém prostředí:

Pokud tuto možnost povolíte, můžete nastavit restart s přihlášenými uživateli nebo ne. Toto by mělo být zakázáno, protože přihlášení uživatelé a nucení odhlášení z důvodu restartu mohou způsobit přerušení pracovního prostředí, nemluvě o frustraci přihlášeného uživatele.

Pokud byste to však preferovali na:

Příklad z:

// 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";

Příklad změny:

// 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";

Příklad v živém prostředí:

Pokud máte malý server v určitém časovém pásmu a víte, že je vhodný čas restartovat, řekněme ve 2 hodiny ráno a poté upravte následující:

Příklad z:

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

Příklad změny:

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

Příklad v živém prostředí:

Konečný kontrolní seznam pro bezobslužné upgrady

Chcete-li se ujistit, že soubory automatické aktualizace jsou přítomny v adresáři /etc/apt/apt.conf.d/ pomocí následujících příkazů:

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

Příklad výstupu:

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

Nyní otevřete soubor /etc/apt/apt.conf.d/20auto-upgrades :

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

Příklad výstupu:

V následujícím souboru byste měli vidět kód příkazu níže. Pokud ne, zkopírujte a vložte:

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

Ve výchozím nastavení je povoleno nastavení „1“. Pokud ji však chcete deaktivovat, můžete ji změnit na „0“. Pokud nechcete kontrolovat denně, změňte číslo na „2“, díky čemuž budou automatické aktualizace kontrolovány každý druhý den. V našem návodu jsme ji například jen my změnili na 2. Doporučujeme ponechat tuto sadu na „1“:

Příklad v živém prostředí:

Uložte soubor (CTRL+O), poté stiskněte Y , poté pro ukončení stiskněte (CTRL+X) pro ukončení textového editoru.

Vytvořit Cronjob pro bezobslužné upgrady

Volitelně, pokud chcete mít plnou kontrolu nad načasováním vašich automatických upgradů, můžete vytvořit cronjob. Chcete-li to provést, nejprve otevřete crontab:

sudo crontab -e

Dále přidejte tento řádek na konec poslední položky; „načasování“ můžete libovolně upravit. Pokud s Linuxem začínáte, navštivte stránku Crontab.Guru, kde můžete získat pomoc, provést a otestovat nastavení cronu.

Níže bude ukázáno spuštění přesně každý 3. den, ve 4:00.

Příklad:

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

Příklad v živém prostředí:

Uložte soubor (CTRL+O), poté stiskněte Y , poté pro ukončení stiskněte (CTRL+X) pro ukončení textového editoru.

Jak získat přístup k protokolům bezobslužných upgradů

A konečně, unattended-upgrades se zapisuje do svého adresáře, takže pokud chcete v souborech protokolu zkontrolovat nějaké problémy a najít chyby, najdete jej na následující cestě:

/var/log/unattended-upgrades/

Další nástroje – Zkontrolujte Restart (Debian Goodies)

Vynikajícím programem pro kontrolu, zda jste se vrátili na server, na kterém byly použity automatické aktualizace namísto kontroly protokolů nebo e-mailů, je spuštění příkazu checkrestart který vás bude informovat, pokud nějaké balíčky vyžadují restart.

Chcete-li nainstalovat checkrestart, spusťte následující příkaz:

sudo apt install debian-goodies -y

Nyní spusťte následující příkaz pro kontrolu balíčků vyžadujících restartování:

sudo checkrestart


Příklad výstupu:

Found 0 processes using old versions of upgraded files

Jak vidíte, stroj, který výukový program používá, je aktuální; pokud by však něco vyžadovalo ruční restart, bylo by to uvedeno zde ve výstupu.


Debian
  1. Jak nainstalovat Tomcat 8.5 na Debian 9

  2. Jak nainstalovat MongoDB na Debian 9

  3. Jak nainstalovat Nginx na Debian 9

  1. Jak nainstalovat Apache na Debian 9

  2. Jak nainstalovat Jenkins na Debian 9

  3. Jak nainstalovat Webmin na Debian 9

  1. Jak nainstalovat Tomcat 9 na Debian 9

  2. Jak nainstalovat a nakonfigurovat Nagios na Debian 9

  3. Jak nainstalovat Elasticsearch na Debian 9