屑籠というかゴミ箱

主に家のサーバーの遍歴と使った製品のレビュー

Ubuntu LTSのアップデート(20.04→22.04 LTS)

アップデート方法の調査

どのような手段でアップデートするかを検討

  • クリーンインストール → ほとんどdockerでサービス構築しているとはいえ面倒
  • update-manager-coreを使う → 上げた後問題出るかも?

ということで、この2通り。
そろそろサーバを仮想化したほうがいいかなーとは思いつつもなかなか踏ん切りがつかないのでこのままアップデートする
おかしくなったらクリーンインストールにするって形で進める

確認

まずは現状

$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
$ sudo apt dist-upgrade 
~~~略~~
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。

終わってた

$sudo apt install update-manager-core 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
update-manager-core はすでに最新バージョン (1:20.04.10.10) です。
~~略~~
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。

インストールされてた

$ sudo vi /etc/update-manager/release-upgrades

16行目: Prompt=lts

Promptの項目がltsになっていることを確認して進める

実行

$ sudo do-release-upgrade -d

コマンドの意味はman参照
Ubuntu Manpage: do-release-upgrade - upgrade operating system to latest release

失敗

失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した

原因は簡単で、xrdp環境からやってて適当にポチポチしてたら追い出されてどうしようもなくなった
とりあえず再起動してみたところエラーが吐かれてサービスがいくつも起動しない
幸いCUIは叩けたので、ここから復旧を試みる

$ sudo apt update
$ sudo apt upgrade

失敗する。文字化けする環境で読むと以下を実行しろとのことなのでやる

$ dpkg --configure -a

文字化けが苦しいので.bashrcを修正。文末に以下追加してひとまず英語で表示させる

case $TERM in
      linux) LANG=C ;;
      *)       LANG=ja_JP.UTF-8;;
esac

qiita.com

これでパッケージを更新できそうなので実行

$ sudo apt upgrade

まだ、apt updateでエラーが出るものの後回しにして確認
ひとまずupgrade終わったらエラーはapt updateのエラーも消えたので進める

XRDPの接続で手間取ったけど、コンフィグ最新にしてプロセス殺したらつながった
Gnomeのオプションとかは入れ直しかな?
一個ずつ確認していく

最後

$ cat /etc/os-release 
PRETTY_NAME="Ubuntu 22.04 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

完了
XRDP経由で作業してたので、途中接続切られてログインできなくなって詰んだわけですがなんとかエラー状態から復旧できました。

補足

Dockerで動かしていたGraylogが何故かログインできなくなっていた
調べてみるとバージョンが新しいものがあったので、そちらに入れ替えて起動したら動いたのでバグに引っかかってたのかも