Tato dokumentace je jen pro Turris OS 3.x, který se už nenachází na nově prodávaných routerech. Novou dokumentaci najdete na https://docs.turris.cz/.
Využívání starších verzí balíčků je bezpečnostní riziko a může vést i ke snížené stabilitě systému. Jediná námi plně podporovaná verze balíčků je ta nejnovější.
Systém Turris OS je pravidelně aktualizován a nainstalované balíčky se tak postupně mění. Výjimečně se můžeš stát, že nová verze některého z balíčků obsahuje chybu a to z toho důvodu, že bohužel není možné otestovat všechny balíčky ve všech nastaveních. Přes veškerou snahu, aby k vydání chybného balíčku nedošlo, se tak může stát a v takovém případě existuje možnost se dočasně vrátit k předchozí verzi.
Před tím, než se vrátíte k předchozí verzi balíčku, nahlaste prosím chybu na podporu, nebo přímo na vývojářský Github.
Dostupné verze Turris OS je možné nalézt v
archivu. Podle toho na kterém routeru hodláte
návrat provádět zvolíte omnia
pro Turris Omnia, nebo turris
pro Turris 1.x.
Turris OS repositář je z technických důvodů rozdělený na několik subrepositářů.
Jedná se o base, lucics, management, openwisp, packages,
printing, routing, telephony a turrispackages. Seznam balíčků se pro každou verzi systému liší a které balíčky ve vybrané verzi Turris OS jsou, je možné vypozorovat z adresářů v packages
v archivu.
Tento návod používá syntaxi updateru a proto doporučujeme si nejprve prohlédnout návod k updateru.
Pozor, toto je úprava pouze pro updater. opkg
nadále pracuje
s nejnovější verzí repositáře. Balíčky nainstalované pomocí opkg jsou tedy vždy v
nejnovější verzi a teprve až po následném spuštění updateru dojde k uplatnění omezení na
repositář a tedy i k případnému downgradu balíčků.
Nejjednodušší způsob jak získat starší verze balíčků je vrátit celý systém do předchozí verze Turris OS. Tento postup se doporučuje pouze jako velmi krátkodobé řešení (řádově několik dnů) a to proto, že jsou v něm využity staré verze bezpečnostních aplikací a knihoven (například OpenSSL). Na druhou stranu tento způsob zaručuje, že aplikace a knihovny jsou v otestované kombinaci a nemělo by tak dojít k problémům s kompatibilitou mezi verzemi a proto ani stabilitou.
K návratu do předchozí verze je nutné přidat do konfigurace updateru (tj. třeba do souboru
/etc/updater/conf.d/archive.lua
) tento kód:
Repository('turris-archive', 'https://repo.turris.cz/archive/TURRIS/VERSION/packages', { subdirs = {'base', 'turrispackages', 'lucics', 'packages', 'routing', 'management', 'telephony', 'printing'}, priority = 60, ocsp = false, pubkey = "file:///etc/updater/keys/release.pub" })
TURRIS
značí turris
nebo omnia
a VERSION
je požadovaná verze Turris
OS. Dále subdirs
musí obsahovat seznam subrepositářů, které obsahuje vybraná
verze Turris OS. Volba priority = 60
zajišťuje, že balíčky budou přednostně
brány z archivní verze (nejnovější má prioritu 50).
Po úpravě konfigurace aplikujte změny spuštěním updater.sh
.
Pokud je problém v izolované sadě balíčků, mnohdy stačí pouze použit jejich starší verze a není nutné se vracet ke starší verzi celého systému. V tom případě je ale nutné vědět, které balíčky přesně problém způsobují. V této konfiguraci se mohou vyskytnout problémy s kompatibilitou mezi balíčky a tedy i se stabilitou softwaru. Výhodou je, že toto může být i dlouhodobějším řešením, protože důležité části systému přesto mohou být aktualizovány.
Prvním krokem je přidání archivního repositáře. Na routeru je nutné do konfigurace updater
(tj. třeba soubor /etc/updater/conf.d/archive.lua
) přidat následující kód:
Repository('turris-archive', 'https://repo.turris.cz/archive/TURRIS/VERSION/packages', { subdirs = {'base', 'turrispackages', 'lucics', 'packages', 'routing', 'management', 'telephony', 'printing'}, priority = 40, ocsp = false, pubkey = "file:///etc/updater/keys/release.pub" })
TURRIS
značí turris
nebo omnia
a VERSION
je požadovaná verze Turris
OS. Dále subdirs
musí obsahovat seznam subrepositářů, které obsahuje vybraná
verze Turris OS. Volba priority = 40
zajišťuje, že balíčky budou přednostně
brány z nejnovější verze (ta má prioritu 50).
Nyní je možné vyjmenovat balíčky, které chceme mít ve starší verzi a to přidáním
řádky do konfigurace updateru (tj. třeba /etc/updater/conf.d/user.lua
) se jmény požadovaných balíčků v následujícím formátu:
Install("pkg1", "pkg2", {repository = {'turris-archive'}})
Tento řádek sdělí updateru, že balčky pkg1
a pkg2
chcete mít nainstalované
ve stejné verzi jako byly v repositáři turris-archive
.
Po úpravě konfigurace aplikujte změny spuštěním updater.sh
.