自宅NASのOSアップデートをやろうやろうと思いつつ、気付けば20.04 LTSの通常サポート終了から半年も経っていました。
ESMでセキュリティパッチを当てているとはいえ、通常サポート有効な24.04 LTSへアップデートしていきます。
# まずはパッケージの更新
apt update
apt dist-upgrade
# アップデートチェック
# Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. と怒られたときは
# /etc/update-manager/meta-release 内のhttps:// を http:// に変更
do-release-upgrade -c
Checking for a new Ubuntu release
New release '22.04.5 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
# 2つ一気にアップデートできないので、まずは22.04に
do-release-upgrade
Failed to connect to https://changelogs.ubuntu.com/meta-release-lts.
Check your Internet connection or proxy settings
# 上のエラーが出た場合は、/etc/update-manager/meta-release 内の https:// を http:// に編集して再試行
# SSH経由ではContinue running under SSH? が出る。
# ローカル接続も可能にしておき、Yで続行
# しばらく待つと Continue [yN] Details [d] が出るので、dで詳細を確認しておく
# qで抜け、Yで続行
# Configuring libc6 は関連サービスを更新中に自動で再起動するかの確認なので、Yesで続行
# Samba server and utilities や Configuring openssh-server は設定保持のため keep the local version currently installed で続行
# XX packages are going to be removed. Continue [yN] Details [d] は一応dで見ておく
# Restart required までいけばひと段落これで1段落、22.04になったので、再度同じ手順で24.04まで上げます。
なお、アップデート後は以下対応が必要でした。
1. SSH接続(公開鍵)不可 (20.04 → 22.04)
アップデート後再起動し、再度SSH接続を試行したところ繋がらず…
ローカルでsshd_configを編集しパスワード認証を一時的にONにしてリカバリの上、 /var/log/auth.log を眺めたところいかにも怪しい以下ログを発見しました
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]どうやらssh-rsaが許可されたアルゴリズムに含まれていない様子。
そもそも認証用のキーペアを作ったのが数年前で、当時のTeraTermはSHA1のみに対応していたようです。SHA1は既に脆弱性が指摘されており非推奨なので、これを機にED25519のキーペアに変更しました。変更後は公開鍵認証もできるようになったので、一時許可していたパスワード認証を不許可に戻して対処終了。
2. pip使用不可 (22.04 → 24.04)
luksで各ボリュームを暗号化しているため、ユーティリティをPythonで自作し運用しています。アップデート後はライブラリを入れなおす必要ありでした。
おまけに24.04ではpipが使えないようで…
PyCryptodome を apt install python3-pycryptodome で入れたは良いものの、ModuleNotFoundError: No module named ‘Crypto’ で暫し時間を溶かしました。
結局 import の Crypto を Cryptodome に変えて解消。
3. clevisのtpmバインド不可 (22.04 → 24.04)
clevis encrypt tpm2 と打ったらコマンドが違うと怒られる始末。
clevis-tpm2 が消えてしまったようなので再インストールします。
apt install clevis-tpm2 にて解消。
4. Zpoolのupgrade要求
一通りアップデートした後、zpool status を見てみたらupgrade要求の表示が。
害はなさそうなのでupgradeを行いました。
zpool status
pool: tank
state: ONLINE
status: Some supported and requested features are not enabled on the pool.
The pool can still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(7) for details.
zpool upgrade -v # これで詳細情報確認可能
zpool upgrade -a # 害なさそうなので全てアップグレード幸い互換性面で大きな影響は出ず、無事アップデートが完了です
参考
・Ubuntu 18.04(LTS)→20.04(LTS)アップグレード方法
・Ubuntu 18.04 LTSのサポート終了が終了するので20.04へアップグレードする
・Ubuntu 18.04から20.04へのアップグレード時に「Failed to connect to https://changelogs.ubuntu.com/meta-release-lts.」
・【RHEL9】Teratermで作ったRSA鍵が公開鍵認証で使えない















