Frog to nasz darmowy, maleńki serwer. Chodzi na Alpine Linux i na nic innego go nie przesiądziesz - taki urok.

Alpine ma swoje przyzwyczajenia, inne niż Ubuntu. Co jakiś czas wypuszcza nową gałąź (3.19, 3.20 i tak dalej), a zwykłe apk upgrade porusza się wyłącznie w obrębie gałęzi, na której akurat jesteś. Na nowszą samo z siebie Cię nie przeniesie, choćbyś odpalał je codziennie przez rok.

Ten wpis dotyczy tylko Froga. Płatne Mikrusy stoją na innych systemach, dlatego nie ma tu zwyczajowego podziału na “Na Mikrusie” i “na dowolnym serwerze”.

Sprawdzenie obecnej wersji#

cat /etc/alpine-release

Wynik w stylu 3.19.9. Pierwsze dwie liczby, 3.19, to gałąź. Trzecia to numer wydania w jej ramach.

Aktualizacja w obrębie tej samej gałęzi#

Zwykła, bezpieczna aktualizacja. Rób ją regularnie, niezależnie od tego, czy planujesz przeprowadzkę na nowszą gałąź:

apk update
apk upgrade --available

Pierwsze polecenie ściąga świeżą listę pakietów z serwerów Alpine. Drugie podnosi wszystko, co masz zainstalowane, do najnowszych wersji, jakie są dostępne w gałęzi ustawionej w /etc/apk/repositories.

Przejście na nowszą gałąź#

Tu robi się ciekawiej. Najpierw rzut oka na repozytoria:

cat /etc/apk/repositories

Powinny się tam znaleźć dwie linie z numerem gałęzi w adresie, mniej więcej takie:

https://dl-cdn.alpinelinux.org/alpine/v3.19/main
https://dl-cdn.alpinelinux.org/alpine/v3.19/community

Numer podmieniasz na nowszy. Zamiast 3.20 wstaw wersję docelową (listę aktualnie wspieranych znajdziesz na alpinelinux.org/releases):

sed -i 's/v3\.19/v3.20/g' /etc/apk/repositories

I powtórka z rozrywki, tym razem już z nowej gałęzi:

apk update
apk upgrade --available

Jedna gałąź na raz. 3.19 → 3.20 → 3.21, bez przeskakiwania kilku wersji jednym susem. Tak zaleca sam projekt Alpine, a ja dodam od siebie, że te kilka minut więcej oszczędza sporo szarpaniny z konfliktami pakietów.

Na koniec restart, żeby wszystkie usługi wystartowały już na świeżych wersjach:

reboot

Choć, prawdę mówiąc, na Frogu wygodniej kliknąć restart w panelu.

Mała ciekawostka: tuż po apk upgrade plik /etc/alpine-release potrafi jeszcze przez chwilę pokazywać starą wersję. Nie panikuj. Sprawdź ponownie po restarcie.

Najczęstsze błędy#

apk upgrade bez apk update. Bez odświeżonego indeksu upgrade pracuje na nieaktualnych danych. Efekt? Albo nie robi nic, albo zaczyna się awanturować o brakujące pakiety.

Skok o kilka gałęzi naraz. Większe ryzyko, że zależności się pogryzą. Po kolei, gałąź po gałęzi.

Zapomniany restart. Pakiety zaktualizowane, ale działające procesy, i razem z nimi informacja o wersji systemu, pozostają przy starym aż do ponownego uruchomienia.