WSL2のUbuntu 18.04を20.04にアップグレードする際にエラーが出たのを直した話

WSL2でUbuntu18.04を使っているのをUbuntu20.04に上げようとしたときにエラー。通常Ubuntuのバージョンは上げるときは、次のとおりやればよい。

$sudo apt update
$sudo apt dist-upgrade
$sudo apt autoremove
$sudo apt install update-manager-core
$sudo do-release-upgrade

これでアップグレードが進みそうになるが、途中でAbortする。例えば下記のよう。

Reading cache

Checking package manager
Reading package lists... Done
Building dependency tree
Reading state information... Done
Hit http://archive.ubuntu.com/ubuntu groovy InRelease
Hit http://archive.ubuntu.com/ubuntu groovy-updates InRelease
Hit http://archive.ubuntu.com/ubuntu groovy-backports InRelease
Hit http://security.ubuntu.com/ubuntu groovy-security InRelease
Fetched 0 B in 0s (0 B/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done

Restoring original system state

Aborting
Reading package lists... Done
Building dependency tree
Reading state information... Done
=== Command terminated with exit status 1

これを解決するのに、Exit 1 when upgrading to Ubuntu 21.04 #6942が役に立った。やり方としては、/tmp/ubuntu-release-upgrader-xxxxxxxx/DistUpgradeQuirks.pyを編集する。xxxxxxxxはランダムな英数字が入る。

128, 129行目をコメントアウトする。

#        if cache['snapd'].is_installed:
#            self._checkStoreConnectivity()

コメントアウトしたあと、このフォルダで下記を実行するとアップグレードが進む。

sudo ./dist-upgrade.py --frontend=DistUpgradeViewText

コメント