Uživatelské nástroje

Nástroje pro tento web

Tato dokumentace již není udržována týmem projektu Turris (přestože ji lze i nadále používat pro sdílení komunitního obsahu). Aktuální oficiální dokumentace se nachází na docs.turris.cz.

Migrace Turrisu 1.x na novou verzi updateru ve verzi Turris OS 3.7

Tento článek se vztahuje pouze na Turris 1.x.

Updater je část firmware, která instaluje nové verze balíčků a udržuje tedy systém aktuální, bezpečný a také přináší nové funkce. Do verze Turris OS 3.7 byl na Turris 1.x používán starý updater. Ve verzi 3.7 jsou všechny routery automaticky migrovány na nový updater zvaný updater-ng. Migrace by měla proběhnout jako součást updatu na tuto verzi bez nutnosti zásahu uživatele.

Hlavním rozdílem je, že updater-ng spravuje všechny balíčky a ne jen předem definovanou sadu balíčků. Co se má aktualizovat a v jakém pořadí již není definované serverem a možnosti nastavení tedy nejsou tak omezené. Nový updater přebírá správu všech balíčků a již neexistují žádné, které by stáli jaksi „mimo“. Vámi doinstalované balíčky se tedy budou také udržovat aktuální.

Známé problémy při migraci

Zde je popis známých problémů, které mohou nastat při migraci, a jejich řešení. Na vyřešení těchto problémů je většinou nutná znalost příkazové řádky. Pokud neovládáte příkazovou řádku, nebo si na opravu nevěříte, pak, pokud u problému není uvedeno jinak, můžete router uvést do továrního nastavení a provést update z něho (update z továrního nastavení je testován a měl by tak proběhnout bez problémů).

Před řešením problémů s updater-ng se také doporučuje přečíst si k němu dokumentační stránku.

Prvotní běh updater-ng skončil s chybou: Unknown error

Tato chyba může být prakticky jakoukoliv jinou chybou, nebo se nemusí jednat o žádnou chybu. Bohužel jedná se o problém kdy prvotní běh updateru skončil nenulovým exit kódem, ale souběhem updateru došlo k odstranění informace o jakou chybu se jedná. Jediná možnost jak ověřit co se stalo je tak spustit migraci ručně. V konzoli na routeru tak musíte spustit příkaz:

get-api-crl && updater-migrate.sh

Pokud na routeru příkaz updater-migrate.sh není přítomen, tak to znamená pravděpodobně, že se migrace provedla úspěšně a chyba tak nebyla závažná (selhal skript některého z balíčků, doporučuje se tak jen restartovat router a vše by mělo být v pořádku).

Pokud několik řádků před koncem je ve výstupu vidět zpráva (v terminálu schopného barev červeně obarvená) začínající DIE: pak je nutné provést úpravy podle toho co daná zpráva hlásí. Většinou se jedná o chybějící balíčky, v takovém případě je nutné odstranit zmínku o těchto balíčcích ze souboru /etc/updater/auto.lua. Případně pokud se jedná o chybu popsanou níže, pak použijte níže popsaný postup.

Prvotní běh updater-ng skončil s chybou: Collisions

Tato chyba Vás informuje o tom, že updater-ng je nakonfigurovaný tak aby instaloval balíčky které ale obsahují soubor který má být nainstalován do stejné cesty. Před dvojtečkou je možné vidět problematickou cestu, za dvojtečkou jsou pak dotčené balíčky. Například:

• /etc/dnsmasq.conf: dnsmasq (new-file), dnsmasq-full (existing-file)

Opravu je možné provést odstraněním nadbytečných balíčků ze souboru /etc/updater/auto.lua. Pokud se v tomto souboru nalézá řádek pouze s jedním z dvojice balíčků, pak jej odstraňte, pokud tam vidíte řádky pro oba balíčky, pak si vyberte který z balíčků si přejete zachovat. V uvedeném příkladu nalezneme v daném souboru řádek s:

Install "dnsmasq-full" { ignore={ "missing" } }

A to proto, že balíček dnsmasq je součástí základního systému a není ho tak jednoduše možné odstranit (pro více informací k tomuto je možné nalézt v dokumentaci k updater-ng)

Následně spusťte příkaz pkgupdate, zkontrolujte a případně potvrďte operace které Vám nabídne. Pokud narazíte na další chybovou hlášku tak znovu konzultujte tento článek.

Prvotní běh updater-ng skončil s chybou: inconsistent: Package kmod-fs-9p requires package kmod-9pnet that is not available.

Pokud jste se setkali s touto chybou, pak jste se pravděpodobně pokoušeli provádět přechod na updater-ng v některé z předchozích verzí migrátoru a nekončili jste ho. Doporučujeme smazat soubor /etc/updater/auto.lua a spustit updater-migrate.sh.

Úklid po automatické migraci

Automatická migrace prohlídne seznam nainstalovaných balíčků a pokud je nějaký balíček navíc (není požadován jako závislost jiného balíčku, nebo jako součást systému), pak se přidá do souboru /etc/updater/auto.lua. Je možné, že na routeru máte nainstalovaný software který ve skutečnosti nepoužíváte, doporučuje se tak po provedení migrace projít obsah /etc/updater/auto.lua a odstranit řádky instalující balíčky které nepotřebujete. Jakékoliv balíčky uvedené v tomto seznamu nejsou důležité pro běh systému.

Po provedení změn v konfiguraci je aplikuj spuštěním příkazu updater.sh.

/etc/updater/auto.lua obsahuje nadbytečný software i v případě, že aktualizujete z továrního nastavení.