Problémy s migrací na nový updater

DNS zajišťuje služba resolver. Službu unbound neaktivujte, je možné, že by buďto nenaběhla nebo by se s běžícím resolverem prala. Jinak ano používá se Unbound, ale existuje společná služba pro ten i knot.

V pátek jsem zažil pár horkých chvilek, když jsem se za pomoci podpory a fóra pokoušel o nápravu chyb při poslední aktualizaci. Více zde Turris 1.1 - jak postupovat po obnově továrního nastavení. Skončil jsem ve stavu, kdy se deodesílala data z FW ani ucollect. Postupně, aniž bych věděl, že existuje tohle vlákno, jsem zjistil, že chybí adresáře nikoly (/usr/share/nikola/) tak i ucollectu. Takže jsem je nainstaloval a sběr se rozběhl.

Služba updater je také vypnutá.

Jak zjistím, jestli mám aktuální verzi updateru?

Jsem pod smlouvou
Device Turris - RTRS02
Serial number ************
Turris OS version 3.7.5
Kernel version 3.18.63-1ac1f353df888f6a08f1362f0631fbf3-0

Po všech útrapách spojených s upgradem na verzi 3.8.x mi nejde updater. Končím na chybě:

Migrace na updater-ng selhala: Prvotní běh updater-ng skončil s chybou:
unreachable: /tmp/crl.pem: No such file or directory

Mám Turris 1.0 již v osobním vlastnictví, migrovaný na BTRFS, verzi OS píše 3.8.4.
V dokumentaci jsem svou chybu nenašel (zkusil jsem teda get-api-crl && updater-migrate.sh, ale nepomohlo to), v /etc/config/updater řádek list lists 'i_agree_datacollect' mám. Po spuštění updater.sh dostávám warningy:

WARN:Script revision-specific not found, but ignoring its absence as requested
WARN:Script serial-specific not found, but ignoring its absence as requested
WARN:Requested package https-cert that is missing, ignoring as requested.
WARN:Requested package luci-i18n-ddns-en that is missing, ignoring as requested.
Working on message: xxxxxxxxxx-yyyy
There is no message to send.

Podle poslední outputu Vám updater funguje. Netřeba se ničeho bát.

Každopádně ve Forisu by měla být zprava, co vše se aktualizovalo a i případně uvedena nutnost restartu.

Fungovat asi funguje, protože stávající update na verzi 3.8.5 prošel, ale stále mi vyskakuje to upozornění - když už nic jiného, je to otravné, protože mi pokaždé přijde mail a po přihlášení na mě čeká zpráva. Proto bych se té chyby rád zbavil…

Stále máte pravděpodobně nainstalovaný migrátor. Koukněte se do /etc/updater/auto.lua a user.lua jestli tam není zmíněný a případně ho odstraňte.

V user.lua mám tohle:

–[[
A place for user definitions.
Repository “name” “URI” { ca = “file:///etc/ssl/ca.pem”, pubkey = “file:///etc/repo.pubkey” }
Install “pkgname” “other”
]]

V auto.lua mám hned na začátku následující obsah, pak hromadu Install("xxxx", { ignore = { "missing" } })

Install("turris-btrfs-migrate")
-- Auto-migration performed (do not delete this line, or it may attempt doing so again)

Ne nemažte turris-btrfs-migrate, ten musíte mít pokud máte sd kartu. Ale pravděpodobně máte nainstalovaný updater-migrate. Po něm se podívejte. Bude jedním z těch Install.

Nic takového tam nemám. S řetězcem *migr* je v celém souboru jen ten BTRFS migrate, s řetězcem *upd* je jediný řádek, a to update_mac, který taky nebude on.
Install("update_mac", { ignore = { "missing" } })

Nějaké další rady? :pensive:

Tek skript někde musí být. Podívejte se do /usr/bin/updater/migrate.sh, existuje tento soubor? Máte soubor /etc/init.d/updater-migrate?

V /usr/bin/složku updater vůbec nemám, je tam jen soubor updater.sh, který neobsahuje nic s *migr*. V /etc/init.d/ je soubor updater-migrate s následujícím obsahem:

#!/bin/sh /etc/rc.common

# We want to run after updater (S85)
START=86

# Note: we can't use PROCD as with it we can't deny service stop.

start() {
	(
	exec 0>&-
	exec 1>&-
	exec 2>&-
	updater-migrate.sh --batch 2>&1 | logger -t "updater-migrate"
	) &
}

stop() {
	# As part of migration, package containing this init script is removed and so
	# disabled. This would result into service kill and migration breakage.
	true
}

To je to, čeho se chci zbavit? Mám ten soubor smazat?

Ano tento soubor nechcete, ale co jste vyváděl, že ho máte ale nemáte balík k němu? Zkuste opkg list-installed | grep updater-migrate. A někde ještě musíte mit updater-migrate.sh. Ve výchozí instalaci to bylo v /usr/bin/updater-migrate.sh ale kde se octnul u vás?

No to se mě ptejte… :flushed: Zkoušel jsem hromadu postupů, co tu kdo psal, že mu to na podobnou chybu pomohlo. Možná některý z nich nebyl vhodný… Nebo jestli se něco nepovedlo při přechodu na BTRFS…?

opkg list-installed | grep updater-migrate mi nedal žádné výsledky.


V /usr/bin/ nemám jedinou složku, ale soubor updater-migrate.sh v této složce je.

Já se neptal po žádné složce… Dobrá, pokud to žádný balíček nevlastní tak doporučuji smazat.

/etc/init.d/updater-migrate disable
rm /etc/init.d/updater-migrate /usr/bin/updater-migrate.sh

Asi mezi „updater“ a „migrate.sh“ měla být pomlčka a tím celé nedorozumění vzniklo. :slight_smile:

Smazáno, restartováno, router naběhl, chyba ve zprávách žádná není, a na první pohled vše funguje. :slight_smile:

Díky moc!

1 Like