Aktualizace¶
Nový release se vždy rozbaluje do samostatného adresáře. Nesmí se kopírovat přes existující
instalaci ani rozbalit přímo do ní. Nový update.sh následně aktualizuje přesně instanci zadanou
jako argument.
Příprava a záloha¶
Před každou aktualizací musí být k dispozici úplná a ověřená záloha. Ta zahrnuje alespoň:
Celý adresář instance, zejména
core/config/QisutuConfig.pmvar/secure/security.keyDatabáze
Vlastní úpravy Apache, proxy, TLS a systemd
V případě potřeby externí přílohy nebo připojená úložiště
security.key je nezbytný pro obnovení šifrovaných tajných údajů pošty, OAuth a dvoufaktorového
ověřování. Uchovávejte jej chráněný spolu s odpovídající zálohou instance.
Stáhnout release¶
cd /tmp
wget https://ftp.qisutu.de/qisutu-1.0.2.tar.gz
tar xzf qisutu-1.0.2.tar.gz
cd qisutu-1.0.2
Při aktualizaci na novější verzi je samozřejmě nutné použít URL a název adresáře této cílové verze.
Spustit aktualizaci¶
Produkční instance:
sudo ./update.sh /opt/qisutu
Další instance:
sudo ./update.sh /opt/qisututest
Aktualizační program přečte var/install/instance.conf a před potvrzením zobrazí instalační
cestu, identifikátor instance, webovou cestu, databázi a službu systemd. Přerušte jej, pokud některá
z těchto hodnot nepatří požadované instanci.
Průběh aktualizace¶
Skript mimo jiné provede následující kroky:
Kontrola kontrolních součtů release, verzí, souboru schématu, syntaxe Perlu a registrace programů.
Volitelné vytvoření dalšího dumpu databáze. Předem zkontrolujte volné místo v
/var/backups.Aktivace režimu údržby, zastavení daemonu instance a blokování nových načítání pošty.
Aktualizace všech programových souborů spravovaných releasem; nové soubory se doplní a již nevydávané spravované soubory se odstraní.
Zachování místních souborů instance, konfigurací, protokolů, běhových dat a bezpečnostního klíče.
Porovnání databázového schématu a spuštění všech dosud nezaznamenaných SQL a Perl migrací.
Opětovná kontrola cílového stavu a spuštění daemonu.
Následná kontrola¶
Po úspěšném dokončení zkontrolujte:
systemctl status qisutu-daemon.service
journalctl -u qisutu-daemon.service --since today
Poté se přihlaste, zkontrolujte zobrazenou verzi Qisutu a databáze a otestujte alespoň přihlášení, zobrazení ticketu, načítání a odesílání e-mailů. U více instancí se tato kontrola provede samostatně pro každou aktualizovanou instanci.
Neúspěšná aktualizace¶
Nespouštějte skript opakovaně bez analýzy příčiny. Uložte výstup a protokoly, zkontrolujte volné místo, přístup k databázi, oprávnění souborů a stav služby. Pokud není stav jednoznačný, obnovte společně dříve ověřenou úplnou zálohu programového adresáře a databáze.