アップデート方法の調査
どのような手段でアップデートするかを検討
- クリーンインストール → ほとんど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
これでパッケージを更新できそうなので実行
$ 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が何故かログインできなくなっていた
調べてみるとバージョンが新しいものがあったので、そちらに入れ替えて起動したら動いたのでバグに引っかかってたのかも