概要
可能な限りインタラクティブな応答をなくしながらアップグレードする方法を紹介します
どうしても 20 -> 22 -> 24 というパスが必要になります
環境
- Ubuntu 20.04
流れ
- パッケージの最新化 (再起動
- 22 アップグレード (再起動
- 24 アップグレード (再起動
という感じで最低でも3回再起動が必要です
手順
まずは 20 -> 22 に上げます
先にすべてのパッケージをアップグレードします
サービスの再起動や設定ファイルの上書きなどインタラクティブに聞いてくる項目をすべてスルーする設定をいろいろ入れています
どうしてもここで一度再起動が走ります
apt -y update
cat << 'EOF' > /etc/needrestart/conf.d/99_restart.conf
$nrconf{kernelhints} = '0';
$nrconf{restart} = 'a';
EOF
DEBIAN_FRONTEND=noninteractive apt -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
sudo reboot -h now
そしてアップグレードします
これで 20 -> 22 になります
22 後も再起動する必要があります
do-release-upgrade -f DistUpgradeViewNonInteractive
sudo reboot -h now
更に 22 -> 24 にします
do-release-upgrade -f DistUpgradeViewNonInteractive
sudo reboot -h now
最後はアップグレード後に更新したほうがいいです
自分の環境では /var/run/reboot-required
が生成されていたためです
トラブルシューティング
No candidate ver: linux-modules-extra-5.15.0-92-geenric
というエラーが出る場合は /boot 領域を空けましょう
apt -y autoremove やそれでもダメなら使っていない古いカーネルモジュールがある場合があるのでそのファイルを削除して何とか /boot 領域を空けましょう
最後に
全部でだいたい20分ほどで完了しました
0 件のコメント:
コメントを投稿