Uživatelské nástroje

Nástroje pro tento web


Návrat k předchozím verzím balíčků

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.