はじめに
本記事はDebian11.0(bullseye)からDebian12.0(Bookworm)へのアップグレード手順と、Backportsリポジトリを有効にする方法について記載しています。
Debian12のアップグレード手順
アップグレードを行う前に、リリースによる副作用を確認したい場合は、公式ドキュメントの「第5章 bookworm で注意すべき点」に目を通しておくことをお勧めします。
設定情報のバックアップ
システムをアップグレードする前に、完全なバックアップを取得することが推奨されています。
少なくとも設定情報のバックアップを取得する場合は、以下のようなコマンドを実行します。
$ sudo tar czf /root/backup_etc_$(date +%F).tar.gz /etc
tar: Removing leading `/' from member names
上記コマンド実行後、バックアップが取得できていることを確認します。
$ sudo ls -l /root
-rw-r--r-- 1 root root 719663 Jun 10 09:36 backup_etc_2025-06-10.tar.gz
アップグレードに関するプロセスは、/home
ディレクトリ配下を変更しないように行ないます。しかし、Mozillaスイートの一部や、GNOME・KDEといったデスクトップ環境などのデフォルト設定を上書きしてしまう可能性があるため、必要に応じて/home
ディレクトリについてもバックアップを取得するのが推奨されています。
バージョン確認
アップグレード前に現在のバージョンを確認します。
現在のバージョンを確認する場合は、lsb_release
コマンドまたは/etc/debian_version
ファイルなどから確認できます。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
$ cat /etc/debian_version
11.11
既存システムの最新化
古い状態のパッケージが存在するとき、アップグレード時にパッケージの依存関係に影響する場合があるため、アップグレード前に既存システムの最新化を行います。
$ sudo apt update
$ sudo apt full-upgrade -y
上記コマンド実行後、不要パッケージの削除を行います。
$ sudo apt autoremove --purge -y
sources.listファイルの変更
sources.list
ファイルがbookwormのリポジトリでない場合は、sources.list
ファイルの変更を行う必要があります。
以下のコマンドを実行して、sources.list
ファイルのリポジトリをbookwormに変更します。
$ sudo cp -p /etc/apt/sources.list /etc/apt/sources.list.bak
$ sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sources.list
ファイル編集後、ファイルの中身が正しいことを確認します。
$ cat /etc/apt/sources.list
deb http://deb.debian.org/debian/ bookworm main
deb-src http://deb.debian.org/debian/ bookworm main
deb http://security.debian.org/ bookworm-security main
deb-src http://security.debian.org/ bookworm-security main
deb http://deb.debian.org/debian/ bookworm-updates main
deb-src http://deb.debian.org/debian/ bookworm-updates main
パッケージの更新
以下のコマンドを実行して、パッケージの更新ができることを確認します。
$ sudo apt update
アップグレードの実行
公式ドキュメントでも推奨されている通りに、段階的にアップグレードを行うことで、安全にアップグレードが実現できます。
段階的にアップグレードを実行する場合は、次の流れで実行します。
$ sudo apt upgrade --without-new-pkgs -y
$ sudo apt full-upgrade -y
Nginxなどをインストールしている場合は、設定ファイルについて対応を求められる場合があります。現在のインストールバージョンを保持する場合は、N
またはO
を選択します。
Configuration file '/etc/nginx/nginx.conf'
==> Modified (by you or by a script) since installation.
==> Package distributor has shipped an updated version.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : start a shell to examine the situation
The default action is to keep your current version.
*** nginx.conf (Y/I/N/O/D/Z) [default=N] ? N
apt upgrade --without-new-pkgs
コマンドは、他のパッケージをインストール・削除する必要がないパッケージのみをアップグレードを行います。従ってステムの容量が少なく、容量による制約のため完全アップグレードが実行できない場合などに有用です。
システムの再起動
以下のコマンドを実行して、システムの再起動を行います。
$ sudo reboot
バージョン確認
システムの再起動完了後、バージョンが更新されていることを確認します。
以下のコマンドを実行して、現在のバージョンを確認します。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
Backports
現在Debian12のサポート期限について、通常版の場合は2026年6月、LTS版の場合は2028年6月となっています。
従ってサポート期間中である場合は、セキュリティ修正やバグ修正を含むパッケージの更新を行うことができます。
しかし、サーバ運用において一部のソフトウェアについて新しいパッケージが必要になるケースもあるかと思います。例えば、Nginxの安定版のサポート期限はリリースから約1年となっていて、Debianのようにディストリビューションから提供されるパッケージはバージョンが少し古いため、新しい機能を試したい場合は自身でソースからインストールするなどの対応が必要になります。
そこで有効なのがBackportsの活用です。Backportsを活用することで、一部のソフトウェアについてより新しいバージョンを、現在の安定版上で利用することができます。
Backportsは、Debianのテスト版ブランチからパッケージを取得し、現在の安定版で動作するように最適化及び再コンパイルする仕組みです。
Backportsを利用する方法を以下に記載します。
日本語ではバックポートと呼ばれています。
Backportsリポジトリを有効にする方法
以下のコマンドを実行して、/etc/apt/sources.list.d/
ディレクトリに新しいリポジトリファイルを作成します。
$ sudo vi /etc/apt/sources.list.d/debian-12-backports.list
deb http://deb.debian.org/debian bookworm-backports main
リポジトリを更新するためには、以下のコマンドを実行します。
$ sudo apt update
Backportsからパッケージをインストールしたい場合は、オプションにbookworm-backports
を指定してインストールを行います。
$ sudo apt -t bookworm-backports install <パッケージ名>
-t bookworm-backports
を明示しない限り、安定版(bookworm)のパッケージが優先されます。
おわり
システムを健全に運用するためには、利用するソフトウェアについて定期的にアップデート及びアップグレードを行ないましょう。