Aktualizácia systému Debian na verziu 11 Bullseye

Cieľ

Chcem aktualizovať serverový operačný systém Debian z verzie 10 Buster na najnovšiu stabilnú verziu 11 Bullseye. Aktualizáciu chcem uskutočniť počas normálnej prevádzky serveru, bez odstávky, respektíve s minimálnym časom nedostupnosti jednotlivých služieb.

Debian 11 „Bullseye“ bol vydaný 14. augusta 2021, posledná aktualizácia – Debian 11.1 bola uvoľnená 9. októbra.

Upozornenie

Proces povýšenia operačného systému je delikátna záležitosť zložená z viacerých po sebe nasledujúcich krokov. Je veľmi dôležité úplne porozumieť jednotlivým krokom a dodržať ich presné poradie.

Nesprávne alebo nepresne zadané príkazy, či príkazy zadané v nesprávnom poradí môžu viesť až k úplnému odstaveniu či znefunkčneniu celého serveru.

Riešenie

Bežná aktualizáciu systému

Pred samotnou aktualizáciou operačného systému na novšiu verziu vykonám tradičnú aktualizáciu všetkých nainštalovaných súčastí.

sudo apt update
apt list --upgradable
sudo apt upgrade
sudo apt full-upgrade

Odstránim všetky skôr nainštalované, ale už nepotrebné balíčky a ich súčasti a odstránim aj všetky pred tým stiahnuté balíčky.

sudo apt autoremove
sudo apt autoclean

Skontrolujem či v systéme neostali predsa zvyšky po predchádzajúcich aktualizáciách, kópie konfiguračných súborov a tak podobne.

sudo find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'

Ak som s výsledkom spokojný, reštartujem počítač, aby sa všetky vykonané zmeny naplno prejavili.

sudo systemctl reboot

Kontrola stavu pred povýšením

Skontrolujem stav jednotlivých nainštalovaných balíčkov a ich pripravenosť na aktualizáciu. Výstup nasledujúceho príkazu zobrazí všetky balíčky, ktoré sa nepodarilo správne nainštalovať (majú príznaky ako napr. Half-Installed alebo Failed-Config).

sudo dpkg --audit

Skontrolujem či nemajú niektoré balíčky nastavený príznak hold (pozdržať pred aktualizáciou).

sudo dpkg --get-selections | grep 'hold$'
sudo apt-mark showhold

Záloha

Vykonám zálohu podľa najlepšieho vedomia a svedomia.

Aktualizácia repozitárov

Vytvorím záložné kópie zoznamov zdrojov softwaru.

mkdir ~/aptbackup
sudo cp -v /etc/apt/sources.list ~/aptbackup
sudo cp -rv /etc/apt/sources.list.d/ ~/aptbackup

V originálnych zoznamoch zdrojov nahradím repozitáre pre Debian 10 Buster repozitármi pre novší Debian 11 Bullseye.

sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list
sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list.d/*

Debian 11 mierne pozmenil spôsob pomenovania repozitáru s bezpečnostnými opravami. Pôvodný názov repozitáru napríklad buster/updates sa zmenil na bullseye-security. Viď bod 5.1.3 zoznamu možných problémov pri prechode na Bullseye.

Preto si ako administrátor otvorím konfiguračný súbor so zoznamom softwarových zdrojov.

sudo nano /etc/apt/sources.list

Potom v nich vyhľadám (v zoznamoch zdrojov) riadky končiace sa reťazcom bullseye/updates main a upravím ich na:

deb http://deb.debian.org/debian-security bullseye-security main
deb-src http://deb.debian.org/debian-security bullseye-security main

Po všetkých úpravách by nakoniec zoznam zdrojov mal vyzerať takto:

deb http://deb.debian.org/debian bullseye main
deb-src http://deb.debian.org/debian bullseye main

deb http://deb.debian.org/debian-security/ bullseye-security main
deb-src http://deb.debian.org/debian-security/ bullseye-security main

deb http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main

Na záver tohto kroku vykonám aktualizáciu repozitárov.

sudo apt update

Minimálna aktualizácia systému

Najskôr vykonám aktualizáciu už nainštalovaných súčasti operačného systému. Aktualizujú sa také balíčky, ktoré je možné aktualizovať bez toho aby sa pridávali alebo odstraňovali ďalšie súvisiace balíčky.

sudo apt upgrade --without-new-pkgs

Povýšenie systému na Debian 11 Bullseye

Následne vykonám kompletnú aktualizáciu operačného systému na najnovšiu verziu.

sudo apt full-upgrade

Po úspešnom ukončení aktualizácie vykonám reštartovanie operačného systému.

sudo systemctl reboot

Odstránenie nepotrebných balíčkov

Po vydarenom povýšení systému môžem odstrániť skôr nainštalované, ale ďalej už nie potrebné balíčky. Odstránim aj všetky stiahnuté balíčky.

sudo apt --purge autoremove
sudo apt autoclean

Príprava na ďalšie vydanie

Na záver vykonám kontrolu, nechám si vypísať zoznam odstránených balíčkov po ktorých mohlo v systéme niečo ostať (napr. konfiguračné súbory a podobne).

sudo dpkg -l | awk '/^rc/ { print $2 }'

Ak mi je jasné o aké balíčky ide a som si istý, že ich môžem kompletne so všetkým odstrániť, vykonám to:

sudo apt purge $(dpkg -l | awk '/^rc/ { print $2 }')

Ešte posledný reštart.

sudo systemctl reboot

A to by už malo byť vážne všetko.


Zdroj


Debian

609 slov

2021-11-29 18:10 +0000

2022-03-09 07:43 +0000