Debian 8 Jessie (czyli i Raspbian 8) jest z nami już od jakiegoś czasu, ale dopiero ostatnio rozpocząłem proces aktualizacji części(!) urządzeń (Raspberry Pi, serwery VPS) do tej wersji (z wersji 7, czyli Wheezy).

W tym wpisie postaram się opisać, jak przygotować się do takiej aktualizacji, i jak ją przeprowadzić.

Żegnaj Wheeze, witaj Jessie

Debian 7, jest z nami od dość dawna (2013), w tym czasie Wheezy stał się moją ulubioną dystrybucją, zarówno na urządzeniach typu Raspberry Pi, jak i serwerach VPS.

Jednak czas leci, i chyba gdzieś w kwietniu tego roku ukazała się stabilna wersja następcy, czyli Jessie (Debian 8).

Pewnie gdybym korzystał z Linuxa na komputerze podstawowym (ale tu od lat wygrywa system Windows, i nie zanosi się na razie, by to miało się zmienić), to pewnie w maju lub czerwcu Debian 8 zawitałby na moim komputerze.

Ale z racji tego, że z Debiana/Linuxa korzystam tylko na urządzeniach typu Raspberry Pi i serwerach VPS, to tu nie ma miejsca na pośpiech, stąd dopiero teraz pierwsze urządzenia testowo aktualizuje do tej wersji systemu (pierwsze też już przywracałem z powrotem do 7 ;-)).

Zacznij od kopii zapasowej (BackUp)

Niezależnie czy tej aktualizacji będziesz dokonywał na Raspberry Pi, czy serwerze VPS – koniecznie zacznij od kopii zapasowej, zwłaszcza że jest to naprawdę duża zmiana, i dotyczy nie tylko samego systemu, ale też i większości zainstalowanych pakietów/aplikacji (w tym np. i serwera WWW).

W przypadku Raspberry Pi możesz skorzystać z tego poradnika…

Jeśli chodzi o serwery/VPSy – tu zapewne masz wdrożony jakiś mechanizm kopii zapasowych, czy to samodzielnie, czy – najprawdopodobniej – po stronie firmy hostingowej.

Zmiana źródeł pakietów

Gdy kopia zapasowa należy zmienić adresy/źródła pakietów, w tym celu edytujemy plik „sources.list”:

sudo nano /etc/apt/sources.list

Raspberry Pi/Rasbian

Prawdopodobnie obecnie masz w tym pliku coś w tym stylu:

deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi

Cała zmiana to – w większości przypadków – zmiana nazwy wersji, w naszym przypadku zamieniamy „wheezy” na „jessie”:

deb http://mirrordirector.raspbian.org/raspbian/ jessie main firmware contrib non-free
deb-src http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi

Debian/VPS

Tutaj sytuacja wygląda podobnie jak w przypadku Raspberry Pi, choć jest duże prawdopodobieństwo, że również Twoja lista źródeł jest trochę bardziej rozbudowana:

deb http://ftp.pl.debian.org/debian/ wheezy main non-free contrib
deb-src http://ftp.pl.debian.org/debian/ wheezy main non-free contrib
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://ftp.pl.debian.org/debian/ wheezy-updates main non-free contrib
deb-src http://ftp.pl.debian.org/debian/ wheezy-updates main non-free contrib

Tu również zmieniamy „wheezy” na „jessie”:

deb http://ftp.pl.debian.org/debian/ jessie main non-free contrib
deb-src http://ftp.pl.debian.org/debian/ jessie main non-free contrib
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.pl.debian.org/debian/ jessie-updates main non-free contrib
deb-src http://ftp.pl.debian.org/debian/ jessie-updates main non-free contrib

A może tak „stable”?

Możecie też od razu zmienić „wheezy” na „stable”, co spowoduje, że bez dalszych modyfikacji system będzie zawsze korzystał ze stabilnych wersji, niezależnie od tego, jak w przyszłości będą się nazywały.

Do komputera stacjonarnego – czemu nie, do serwera – wolę ręcznie wskazać wersję, z której chcę korzystać.

Update, upgrade, dist-upgrade

I tym sposobem dochodzimy do ostatniego kroku – przy założeniu, że podczas aktualizacji nie pojawią się jakieś niespodzianki.

Jeśli ze swoim urządzeniem łączycie się zdalnie, np. za pomocą SSH (niezależnie, czy to Raspberry Pi, czy np. VPS), to zawsze polecam przy aktualizacji – niezależnie od jej skali – korzystać z programu „Screen”, dzięki czemu ew. zerwanie połączenia (np. aktualizacja elementów sieciowych) nie będzie dla nas problemem, i zawsze będzie można wrócić do sesji z aktualizacją.

Aktualizację możecie przeprowadzić za pomocą tych 3 poleceń:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Ew. w wersji „jedna linia”:

sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

W przypadku serwera VPS aktualizacja zależy od dostępnej mocy obliczeniowej, ale pewnie/przynajmniej ok. godziny musicie na to zagospodarować (w takich sytuacjach idealnie sprawdzają się wprowadzone niedawno w DigitalOcean „pływające adresy IP” (Floating IP)).

W przypadku Raspberry Pi Model B operacja trwała kilka godzin (pewnie gdzieś w okolicach 5-6).

Niestety, raczej nie jest to operacja w stylu „uruchom na noc i idź spać”, więc raczej nastawcie się na to, że proces aktualizacji będzie co jakiś czas wymagał Waszych interwencji.

Restart i test(y)

Po udanej aktualizacji przed Wami jeszcze restart (zalecam), oraz test wszystkich kluczowych elementów Waszego systemu (bardzo zalecam).

Wersję systemu sprawdzicie np. za pomocą jednego z tych poleceń:

sudo hostnamectl
cat /etc/debian_version
cat /etc/issue

W przypadku Debiana 8 w odpowiedzi szukajcie „jessie”, np.:

Operating System: Debian GNU/Linux 8 (jessie)

I to właściwie tyle – pamiętajcie o kopii zapasowej, oraz o testach po aktualizacji…

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk