Asystowana Aktualizacja – właściwy sposób na aktualizację oprogramowania OpenWrt
Powinienem był odkryć to lata temu!
Nigdy wcześniej nie trafiłem na tę funkcję, mimo że najwyraźniej była dostępna już od kilku wersji. Dopiero teraz, wraz z oficjalnym wydaniem wersji 25.12.0, dowiedziałem się, jak uprościć proces przejścia z jednej wersji na drugą (sam wykonałem aktualizację z 24.10.2 do 25.12.0).
Z czasem wypracowałem własną rutynę tworzenia kopii zapasowych pakietów i plików konfiguracyjnych, instalowania nowego obrazu i przywracania wszystkiego. Szczerze mówiąc, zawsze tego rozwiązania nienawidziłem, zwłaszcza w środowisku biznesowym, ponieważ wiąże się to z koniecznością przestoju. To właśnie dlatego zdarzało mi się zostawać w tyle z niektórymi poprawkami OpenWrt (wciąż korzystałem z wersji 24.10.2 zamiast 24.10.5).
Jeśli nie możesz pozwolić sobie na długą przerwę w działaniu sieci, możesz ją zminimalizować, stosując to rozwiązanie: Asystowana Aktualizacja - ang. Attended Sysupgrade (ASU).
Na oficjalnej stronie projektu możemy przeczytać:
Kilka kliknięć i krótka chwila oczekiwania pozwalają pobrać oraz zainstalować nowy obraz wraz z Twoimi dotychczasowymi pakietami i konfiguracją. Eliminuje to konieczność tworzenia listy ręcznie zainstalowanych pakietów czy ponownego wprowadzania ustawień tylko po to, by zaktualizować oprogramowanie.
Brzmi to jak spełnienie marzeń, ponieważ była to jedyna funkcja, której brakowało wszystkim użytkownikom OpenWrt – możliwość aktualizacji systemu przy zachowaniu absolutnie wszystkiego na swoim miejscu.
Pakiet ten jest domyślnie zainstalowany w serii OpenWrt 25.12, wraz z nowym menedżerem pakietów apk, który zastąpił opkg.
Działa to teraz podobnie jak w routerach z fabrycznym oprogramowaniem: aktualizujesz system, a Twoja konfiguracja zostaje nienaruszona. Sprawdźmy, czy ta magia rzeczywiście działa. Uwaga, spojler: działa!
Byłem ciekaw, czy uda mi się po prostu zaktualizować router z wersji OpenWrt 24.10.2 do 25.12.0 bez tracenia czasu na robienie kopii zapasowych i ich przywracanie, co miałem w zwyczaju robić w przeszłości.
Oczywiście, na wszelki wypadek przygotowałem własny backup tak jak zawsze, ale na tym etapie byłem pełen nadziei, że wszystko pójdzie zgodnie z planem.
Na moim obecnym routerze z wersją 24.10.2 zainstalowałem pakiet Attended Sysupgrade (ASU):
opkg update
opkg install luci-app-attendedsysupgrade
Z uwagi na to, że mój obecny router, Flint 2 (GL.iNet GL-MT6000), posiada dużą pamięć flash, mogłem również zainstalować pakiet owut. Jednak wcale nie musicie tego robić! Czytajcie dalej, aby dowiedzieć się dlaczego.
opkg install owut
Pakiet owut to narzędzie uruchamiane z poziomu wiersza poleceń urządzenia, które pozwala na aktualizację oprogramowania OpenWrt przy jednoczesnym zachowaniu niestandardowych pakietów i konfiguracji. W najprostszej formie wystarczy wpisać komendę owut upgrade; kilka minut później urządzenie zrestartuje się, działając już na najnowszej wersji OpenWrt z najbardziej aktualnymi pakietami.
Zanim jednak zacząłem, zadałem sobie pytanie: powinienem użyć Attended Sysupgrade (ASU) czy owut?
Jeśli zależy Ci na aktualizacji oprogramowania OpenWrt z zachowaniem konkretnych pakietów i ustawień, Attended Sysupgrade jest lepszym wyborem niż owut.
Oto dlaczego warto postawić na Attended Sysupgrade:
Bezproblemowe zachowanie pakietów: ASU komunikuje się z serwerami kompilacji OpenWrt, aby zamówić niestandardowy obraz oprogramowania, który ma wszystkie Twoje aktualnie zainstalowane pakiety “wszyte” bezpośrednio w sam obraz (partycję squashfs). Gdy router się zrestartuje, wszystkie pakiety są już gotowe do użycia.
Oszczędność miejsca: Dzięki temu, że ASU umieszcza pakiety w skompresowanej partycji tylko do odczytu, oszczędza to znaczną ilość pamięci flash w porównaniu do ręcznej instalacji pakietów już po sflashowaniu systemu.
Czym różni się
owut:owut(OpenWrt Upgrade Tool) działa bardziej jako nakładka na tradycyjny proces sysupgrade. Pobiera generyczny obraz wydania, a następnie próbuje ponownie zainstalować Twoje pakiety za pomocą menedżera opkg już po aktualizacji. Może to czasem zakończyć się niepowodzeniem, jeśli repozytoria zmieniły się między głównymi wersjami systemu lub jeśli zabraknie miejsca na partycji overlay podczas procesu reinstalacji.
Jeśli przeczytałeś sekcję Czym różni się owut, oto kolejna zaleta ASU: kiedy wysyłasz prośbę o oprogramowanie, a którykolwiek z pakietów w Twoim systemie nie istnieje w najnowszej wersji, proces zostanie przerwany. System ostrzeże Cię, czego brakuje, i uniemożliwi dalsze kroki — i to jest bardzo dobra wiadomość! Wyjaśnię to dokładniej w dalszej części.
Istnieje jednak pewien haczyk, o którym musisz pamiętać.
Zarówno ASU, jak i owut domyślnie nie tworzą kopii zapasowej folderu /root ani żadnej niestandardowej konfiguracji w folderze /etc/, jeśli wcześniej im tego nie nakażesz.
Możesz to oczywiście zmienić. Jeśli śledzisz moje inne wpisy o OpenWrt, wiesz, że możesz dodać pliki i foldery do zachowania, edytując /etc/sysupgrade.conf lub – z poziomu LuCI > System > Backup / Flash Firmware – dodając je w zakładce Configuration. Proste!
Ważna uwaga!
Przy przeskakiwaniu między głównymi wydaniami (takimi jak z 24.x na przyszłe 25.x), miej na uwadze, że struktury bazowe oprogramowania czasami ulegają zmianie. Choć mechanizm kopii zapasowej zachowa Twoje pliki konfiguracyjne, dobrą praktyką jest zawsze pobranie ręcznej kopii zapasowej (.tar.gz) na komputer przed rozpoczęciem aktualizacji. Może się to przydać, jeśli poważna zmiana składni zmusi Cię do resetu i ręcznej rekonfiguracji niektórych usług.
W przeszłości miał miejsce bardzo znaczący skok z wersji 23.x do 24.x; ze względu na wiele zmian w Firewall4 i nazewnictwie interfejsów, często musiałem zaczynać od zera. W przypadku przejścia z 24.10 do 25.12.x nie musisz się już tak martwić.
Zobaczmy, jak ASU sprawdza się w praktyce!
Attended Sysupgrade (ASU) w praktyce
Po zainstalowaniu ASU i zalogowaniu się do panelu webowego LuCI, w menu System zobaczysz nową opcję o nazwie Attended Sysupgrade, gdzie przywita Cię następujący widok:
Po kliknięciu zielonego przycisku Szukaj aktualizacji oprogramowania (Search for firmware upgrade), zostaną wyświetlone opcje dostępne dla Twojego urządzenia.
Ponieważ moje urządzenie pracowało na wersji 24.10.2, kolejną zaproponowaną mi wersją była 24.10.5. Z menu rozwijanego mogłem jednak wybrać wersję 25.12.0.
Gdy będziesz gotowy, kliknij (JESZCZE NIE TERAZ!) zielony przycisk Zażądaj obrazu oprogramowania (Request firmware image).
Ale zanim to zrobisz…
Upewnij się, że wejdziesz w System > Backup / Flash Firmware, a następnie przejdziesz do zakładki Configuration.
Tam musisz dodać wszystkie niestandardowe pliki konfiguracyjne i foldery, które masz na swoim routerze, a które muszą zostać zachowane, uwzględnione w kopii zapasowej i przywrócone po aktualizacji.
W moim przypadku wygląda to następująco:
# /etc/example.conf
# /etc/openvpn/
/etc/ssl/
/etc/cloudflared/
/root/
Chcę zachować folder ssl wraz z jego zawartością, a także folder cloudflared i mój folder /root.
Gorąco polecam również wybranie opcji Wygeneruj archiwum (Generate archive) w zakładce Actions i sprawdzenie, czy archiwum daje się poprawnie wypakować (czy nie jest uszkodzone). Jeśli z jakiegoś powodu plik jest uszkodzony, zajrzyj do mojego wpisu: Jak wykonać kopię zapasową routera OpenWrt, gdy wbudowane narzędzia zawodzą.
Jeśli z jakiegoś powodu oprogramowanie zaktualizuje się do nowej wersji z pakietami, ale straci Twoje ustawienia, możesz łatwo wgrać kopię zapasową przez System > Backup / Flash Firmware > Restore backup i w mgnieniu oka przywrócić wszystko do poprzedniego stanu.
Idąc dalej…
Twój router połączy się z oficjalnymi serwerami OpenWrt i sprawdzi dostępność zasobów. W tym momencie zweryfikuje, jakie pakiety znajdują się obecnie na Twoim urządzeniu i co jest dostępne w nowym repozytorium.
Jeśli serwer wykryje, że którykolwiek z Twoich pakietów nie został jeszcze przeniesiony do nowej wersji, wyrzuci błąd.
Na ekranie błędu zobaczysz na przykład, że pakiet (luci-app-nft-qos), który jest dostępny w repozytorium 24.10.x, nie jest jeszcze gotowy dla wersji 25.12.x.
Z tego powodu nie możesz przejść dalej i musisz najpierw rozwiązać ten problem.
Masz dwie opcje:
- Wstrzymać się z aktualizacją do czasu, aż pakiet, na którym polegasz, stanie się dostępny dla nowej wersji, lub
- Usunąć pakiet powodujący konflikt, zrestartować urządzenie i spróbować ponownie.
Gdy konflikt zostanie rozwiązany, możemy iść dalej.
Teraz kliknij Zażądaj obrazu oprogramowania (Request firmware image) i zaczekaj.
W pierwszej kolejności serwer zweryfikuje pakiety, które mają zostać dołączone do Twojego oprogramowania.
Następnie system zbuduje obraz specjalnie dla Ciebie.
Gdy obraz zostanie pomyślnie utworzony, zobaczysz następujące informacje.
Zanim klikniesz zielony przycisk Zainstaluj obraz oprogramowania (Install firmware image), upewnij się, że opcja Zachowaj ustawienia i bieżącą konfigurację (Keep settings and retain the current configuration) jest zaznaczona.
Proces instalacji rozpocznie się automatycznie.
Czekaj cierpliwie, aż router wprowadzi wszystkie zmiany i uruchomi się ponownie z nową wersją systemu.
Jeśli wszystko pójdzie zgodnie z planem, Twój router powinien uruchomić się z nowym oprogramowaniem, wszystkimi wcześniej zainstalowanymi pakietami (tymi z oficjalnych źródeł) oraz w pełni zachowaną konfiguracją.
Jeśli po raz pierwszy zaktualizowałeś system do wersji 25.12.0 i zalogujesz się ponownie do panelu LuCI, przywita Cię pytanie o to, czy chcesz automatycznie sprawdzać dostępność nowych wersji oprogramowania.
Jeśli zdecydujesz się włączyć sprawdzanie, w kolejnym kroku zostaniesz poproszony o dodanie jednej linii do konfiguracji routera.
Wystarczy kliknąć Zapisz i zastosuj (Save & Apply) i gotowe.
Ta metoda aktualizacji OpenWrt z pewnością pomoże większej liczbie użytkowników „podkręcić” ich kompatybilne routery, nie tylko wydłużając żywotność sprzętu, ale także zwiększając ich prywatność.
👏 🙌
PS. Jeśli zainstalowałeś Cloudflare Tunnel na swoim routerze z OpenWrt, pamiętaj, że ten pakiet był instalowany ręcznie. Pomimo tego, że sam regularnie się aktualizuje, po pierwszym restarcie z nowym oprogramowaniem będziesz musiał zainstalować go ponownie (pobrać plik). W tym celu zapoznaj się z krokiem Zainstaluj oficjalny pakiet cloudflared. Pamiętaj, że w serii 25.12 narzędzie opkg zostało zastąpione przez apk.

















Komentarze i Reakcje