Lightsail上で動かしているDebian BusterをBullseyeにアップグレードした話
今月(2021年8月、投稿時点)Debianの新しいバージョン、Debian 11 Bullseyeがリリースされた。早速試したい1のだが、AWS LightsailではまだBullseyeでのインスタンス作成はできなかった。
ということで、すでに動かしているBusterからのアップグレードを試みた。
環境
サーバーの概要
- 主な用途は外部から(グローバルIPを持たない)自宅サーバへアクセスするためのVPNゲートウェイ
- AWS Lightsailの一番安いインスタンスで運用
- OSは Debian 10 Buster(更新前)
OSのバージョン
$ uname -a
Linux beaver 4.19.0-17-cloud-amd64 #1 SMP Debian 4.19.194-2 (2021-06-21) x86_64 GNU/Linux
$ cat /etc/debian_version
10.10
手順
手順自体は公式の手順通りで問題ないので、詳細はそちらを参照のこと。
(スナップショットの作成)
念の為Lightsailのコンソールからインスタンスのスナップショットを撮っておく。
パッケージ取得先の設定の変更
Debian系のパッケージマネージャーは/etc/apt/source.list
内で指定されているサーバーからパッケージを取得している(らしい)。
Debianの場合2以下のようにバージョン名(今回の例であればbuster
)も指定されているため、アップグレードにあたってこれをbullseye
に書き替える必要がある
Before
deb http://cdn-aws.deb.debian.org/debian buster main
deb-src http://cdn-aws.deb.debian.org/debian buster main
deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main
deb http://cdn-aws.deb.debian.org/debian buster-updates main
deb-src http://cdn-aws.deb.debian.org/debian buster-updates main
deb http://cdn-aws.deb.debian.org/debian buster-backports main
deb-src http://cdn-aws.deb.debian.org/debian buster-backports main
After
deb http://cdn-aws.deb.debian.org/debian bullseye main
deb-src http://cdn-aws.deb.debian.org/debian bullseye main
#deb http://security.debian.org/debian-security bullseye/updates main
#deb-src http://security.debian.org/debian-security bullseye/updates main
deb http://cdn-aws.deb.debian.org/debian bullseye-updates main
deb-src http://cdn-aws.deb.debian.org/debian bullseye-updates main
deb http://cdn-aws.deb.debian.org/debian bullseye-backports main
deb-src http://cdn-aws.deb.debian.org/debian bullseye-backports main
2行コメントアウトしているのはまだ該当のディレクトリがなく、エラーになったため。 一つでもエラーがあると更新しないということなので、該当の行のみだけコメントアウトして対応。
更新
まずはパッケージのリストを更新する
$ sudo apt update
公式に習って更新は2工程に分けて行う3
まず最小アップグレードを行う
apt upgrade --without-new-pkgs
問題は起きなかったので続いてシステム全体のアップグレードを行う。
sudo apt full-upgrade
衝突の解消
パッケージの更新に伴い設定ファイルの更新もあり、この際(主に自分が手動で修正した)既存の設定ファイルと衝突するものがいくつか出てきたため、都度以下のいずれかの対処をする必要があった。
- 従来のを維持
- 新しいので上書きする
- 一旦更新を止めて手動でマージ
名前 | 対処 | 備考 |
---|---|---|
nsd | 上書き | 特に設定を変えた覚えがないのと、後日別で設定を見返す予定のため更新 4 |
chrony | 上書き | 特に設定を変えた覚えがないのと、後日別で設定を見返す予定のため更新 5 |
sysctl | 維持 | 変更箇所はIPフォワードに関する設定だけだったので残した。 |
squid | 維持 | 過去に中継サーバの設定をしていたので残した。 6 |
sshd | マージ | ほぼ従来のままだが、include文が増えていたのでそれだけ追加 |
結果
$ cat /etc/debian_version
11.0
$ uname -a
Linux beaver 5.10.0-8-cloud-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 GNU/Linux
ひとまず日常的に使っている機能(wireguard
、dnsmasq
とssh
)は問題なく使えているのでヨシ。
-
具体的にBullseyeに更新したい動機としては、
のだが、よく読んだら結局実装されていなかった模様。ちゃんと資料は最後まで読まないとだめだなと反省。nftables
でのファイヤーウォールの時間での許可不許可の切り替え機能を試したかったそもそも新しい機能が使いたいなら素直にUbuntuを使えばいい話ではある↩︎ -
Debianの場合、と書いたのはUbuntuでは違って、
souces.list
を書き換えなくてもアップグレードできるらしいので ↩︎ -
今回のケースでは問題ないとは思うが念のため ↩︎
-
現在稼働している
dnsmasq
から移行する予定でインストールしたがまだ設定していないので更新。 ↩︎ -
おそらくLightsail用の初期設定がされていたのではないかという気がする。自宅サーバやクライアントとの同期用にNTPサーバとしての設定も遠からず見返す予定なのでそのまま更新。 ↩︎
-
squidのデフォルトの設定ファイルはコメント行が非常に多く、真面目に更新内容を確認するのが現実的ではないためまともに読むのは確認するのはあきらめた。トラブったらその時対応する。 ↩︎