処理自体は簡単です。今までと同じようにUbuntuの場合は以下のコマンドだけでアップグレードできます。
sudo apt update
sudo apt upgrade
sudo do-release-upgrade
アップグレードは正常に終了。
この後は、rebootしてちゃんと起動することを確認すれば作業が終了します。
しかしながら、問題はこのあと起きます。
問題1
なぜかrebootしたあとにはX-window systemが一通り入っていて、runlevelが上がってしまいました。サーバー用途のためCUIしか使っていないので不要です。。。謎すぎます。
なので、runlevelを落とします。Ubuntuは以下のコマンドでCUIになります。
sudo systemctl set-default multi-user.target
それに伴って、X Window system関連のパッケージを削除します。以下のコマンドで削除できると書いてありますが、Gnome関連などのGUIアプリは依存関係がないらしくて消えません。
sudo apt-get remove xserver-xorg-core
sudo apt-get autoremove -y
aptitudeをわざわざインストールしてそれっぽいパッケージを抜いていきます。そして、再起動しました。
追記
別のほとんど追加パッケージを入れていないUbuntu 20 ServerにてUbuntu21へのアップグレードを試したら、この問題は起きませんでした。おそらくなにかのパッケージの依存関係が変わってしまったのだろうと予想します。
問題1が発生しなければ問題2も発生しないです。
問題2
今度は別の問題が発生しました。起動中に、ディスクが見つからないと言うエラーがでました。対処法はWeb上では様々な方法がでてきます。
Gave up waiting for root device. Common problems:
https://kudzu.hatenablog.com/entry/20151102/1446416115
結局は、lvm2のパッケージが消えたことが原因でした。
Grubの選択肢のときにeを押してブート方法を選ぶページに行って、1つ前に入れたkernelを選択して起動。(recovery modeではない)
それでも同様に起動はしませんが、kernelは動くのでshellが動くのと/sbinなどには管理ツールが充実しています。
いろいろ調べていると、lvmのパッケージが依存関係で消えてしまうことがあるらしいので、lvmのパッケージを入れ直せば運が良ければ起動するとのことだったのでインストールして対処します。
確かに、lvm関連のコマンドが一切存在していませんでしたが、このインストール後には利用できるようになりました。どこの領域にインストールされているのか謎なのは依然として残りますが。。。lvmをマウントできていないから/sbinや/usr/sbinとかにアクセスできないはずなのに。。。
apt update
apt install lvm2
このあと、再起動をしたらちゃんと起動しました。
考察
/var/log/dpkg.log を漁ってみましたが、lvm2が消えたログが見当たりませんでした。
色々謎は残りますが復帰できてよかったです。
Comments