====== Espressobin: upgrade z Debian 9 na Debian 10 Buster ======
//Vytvořeno: **10.4.2020**//
> **Poznámka k aktuálnosti:** Toto je dobový článek. Postup odpovídá přechodu ze Stretch na Buster a dnes už slouží spíš jako dokumentační zápisek k upgrade routeru než jako aktuální doporučení.
Když se blížil konec podpory [[https://wiki.debian.org/DebianReleases|Debianu 9 Stretch]], řešil jsem na Espressobinu přechod na Debian 10 Buster. Protože šlo o router, dělal jsem upgrade opatrně a s rezervou času. Samotný přechod proběhl bez velkých komplikací, ale po restartu jsem musel dořešit automatický start ''dnsmasq''.
===== Aktualizace stávající instalace =====
Nejdřív dává smysl dostat Debian 9 do posledního konzistentního stavu:
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
sudo apt --purge autoremove
Potom je vhodné systém restartovat a ověřit, že všechno ještě funguje.
===== Přepsání APT zdrojů ze stretch na buster =====
Před změnou jsem si pro jistotu udělal zálohu ''sources.list'' i ''sources.list.d'':
sudo cp -v /etc/apt/sources.list /root/
sudo cp -rv /etc/apt/sources.list.d/ /root/
Pak už šlo přepsat ''stretch'' na ''buster'':
sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list
sudo sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/*
cat /etc/apt/sources.list
Na původním systému zdroje vypadaly zhruba takto:
deb http://httpredir.debian.org/debian stretch main contrib non-free
deb http://httpredir.debian.org/debian stretch-updates main contrib non-free
deb http://httpredir.debian.org/debian stretch-backports main contrib non-free
deb http://security.debian.org/ stretch/updates main contrib non-free
===== Načtení nových zdrojů a minimální upgrade =====
Po úpravě zdrojů následovalo načtení balíčků a nejprve menší upgrade:
sudo apt update
sudo apt upgrade
Při tomto kroku jsem si dával pozor na dotazy kolem konfiguračních souborů, aby si systém nepřepsal lokální nastavení služeb.
===== Úplný upgrade na Debian 10 =====
Hlavní přechod na Buster:
sudo apt full-upgrade
Po restartu jsem si ověřil verzi systému a uklidil staré balíčky:
uname -r
lsb_release -a
sudo apt --purge autoremove
===== Problém s automatickým startem dnsmasq =====
Po restartu se ukázalo, že DHCP server ''dnsmasq'' nenaběhne automaticky. Ruční start sice fungoval:
systemctl start dnsmasq
Ale v logu byla chyba s portem 53:
dnsmasq: failed to create listening socket for port 53: Address already in use
První část řešení byla v ''/etc/systemd/resolved.conf'', kde bylo potřeba nastavit:
DNSStubListener=no
Jenže tím problém úplně nezmizel. Druhou příčinou byl parametr ''bind-interfaces'' v ''/etc/dnsmasq.conf''. Při bootu zřejmě ještě nebyla síť připravená a démon kvůli tomu spadl. Pomohlo řádek zakomentovat.
Výsledná konfigurace vypadala takto:
interface=br0
listen-address=172.24.1.1
#bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=172.24.1.50,172.24.1.150,12h
===== Zdroje =====
* [[https://wiki.debian.org/DebianReleases|Debian Releases]]
* [[https://www.cyberciti.biz/faq/update-upgrade-debian-9-to-debian-10-buster/|How to upgrade Debian 9 to Debian 10 Buster using the CLI]]