Debian バージョンアップ: Debian 10 (buster) --> Debian 11 (bullseye)

Debian 基本情報

ちょっと古いけど,参考になります.

<URL:https://www.cps-jp.org/~mosir/pub/2019/2019-09-02/02_sasaki/pub-web/20190902_sasaki.pdf>

Debian 10 --> Debian 11

2021/08/14 に Debian のメジャーバージョンが上がった. ここでは Debian のバージョンアップを行う. バージョンアップの手順は以下の通りである.

  1. 現在のバージョンにおいて, パッケージを最新の状態へ更新する. (apt-get update; apt-get upgrade)
  2. apt リストの書き換え. /etc/apt/sources.list 内の stretch を buster に書き換える.
  3. パッケージを入れ替えとバージョンアップ (apt-get update; apt-get upgrade; apt-get dist-upgrade)
  4. 再起動

なお,以下のようにすると Debian のバージョンを確認できる. この例では Debian のバージョンが 10 であることが分かった.

$ sudo -s

# cat /etc/debian_version

  10.10

パッケージを最新状態へ

まずは,Debian 10 の最新版のパッケージ (ソフトウェア) に更新する.

最新のパッケージ情報を取得する.

# apt-get update

  無視:1 http://www.gfd-dennou.org/debian stretch InRelease
  ヒット:2 http://www.gfd-dennou.org/debian stretch-updates InRelease
  ヒット:3 http://www.gfd-dennou.org/debian stretch Release  
  ヒット:5 http://security.debian.org/debian-security stretch/updates InRelease
  パッケージリストを読み込んでいます... 完了              

パッケージを更新する. linux-image-amd64 が保留されていると出ることがあるが, 気にしなくて良い.

# apt-get upgrade

  パッケージリストを読み込んでいます... 完了
  依存関係ツリーを作成しています                
  状態情報を読み取っています... 完了
  アップグレードパッケージを検出しています... 完了
  以下のパッケージは保留されます:
    linux-image-amd64
  アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 1 個。

apt リストの書き換え.

apt リスト (設定ファイル) を修正する. 基本的に /etc/apt/sources.list 内の buster を bullseye に書き換えだけであるが, buster/updates は bullseye-security に置換すること (ディレクトリ構造が変更されたため).

# vi /etc/apt/sources.list   

  (以下のように書き換える)

  deb http://dennou-k.gfd-dennou.org/debian/ bullseye main
  deb-src http://dennou-k.gfd-dennou.org/debian/ bullseye main

  deb http://security.debian.org/debian-security bullseye-security main
  deb-src http://security.debian.org/debian-security bullseye-security main

  deb http://dennou-k.gfd-dennou.org/debian/ bullseye-updates main
  deb-src http://dennou-k.gfd-dennou.org/debian/ bullseye-updates main

パッケージを入れ替えとバージョンアップ

以下の順序でコマンドを実行. 出力を見て,「エラー」が発生していないかを逐次確認すること.

# apt-get update

  ヒット:1 http://dennou-k.gfd-dennou.org/debian bullseye InRelease
  ヒット:2 http://dennou-k.gfd-dennou.org/debian bullseye-updates InRelease                             
  取得:3 http://security.debian.org/debian-security bullseye-security InRelease [44.1 kB] 
  取得:4 http://security.debian.org/debian-security bullseye-security/main Sources [42.7 kB]
  取得:5 http://security.debian.org/debian-security bullseye-security/main amd64 Packages [72.0 kB]
  取得:6 http://security.debian.org/debian-security bullseye-security/main Translation-en [45.9 kB]
  ヒット:7 https://packages.grafana.com/oss/deb stable InRelease                                
  205 kB を 1秒 で取得しました (380 kB/s)                      
  パッケージリストを読み込んでいます... 完了

# apt-get upgrade

  ... (中略)...
  「apt-listchanges: ニュース」は "q" で終了させる. 
  いくつか質問が表示されるが, 全てデフォルトの値のままで良い.   

# apt-get dist-upgrade  

  ... (中略)...
  「apt-listchanges: ニュース」は "q" で終了させる. 
  いくつか質問が表示されるが, 全てデフォルトの値のままで良い.   

再起動

# /sbin/reboot

再起動後の確認・設定作業

ログインしたあとに /etc/debian_version を確認する.ヴァージョンが 11 になっていることが分かる.

$ cat /etc/debian_version 

  11.1

apt-get upgrade をすると,不必要になったパッケージ (バージョンが古い) が一覧される. これらは必要ないので,メッセージにあるように apt autoremove で削除する.

$ sudo -s

# apt-get update

  ...(略)...

# apt-get upgrade

  パッケージリストを読み込んでいます... 完了
  依存関係ツリーを作成しています... 完了        
  状態情報を読み取っています... 完了        
  アップグレードパッケージを検出しています... 完了
  以下のパッケージが自動でインストールされましたが、もう必要とされていません:
    bsdmainutils cpp-8 geoip-database gsfonts imagemagick-6-common libaom0 libasan5 libbind9-161 libcroco3 libcupsfilters1 libcupsimage2 libdav1d4 libde265-0 libdns1104 libdns1110 libevent-2.1-6 libfftw3-double3 libgdk-pixbuf-xlib-2.0-0 libgdk-pixbuf2.0-0 libgeoip1
    libgfortran5 libheif1 libicu63 libirs161 libisc1100 libisc1105 libisccc161 libisccfg163 libisl19 libkyotocabinet16v5 liblinear3 liblqr-1-0 liblua5.2-0 liblwres161 liblzo2-2 libmagickcore-6.q16-6 libmagickwand-6.q16-6 libmpdec2 libmpx2 libnuma1 libperl5.28
    libpython2-stdlib libpython2.7 libpython3.7-minimal libpython3.7-stdlib libreadline5 libruby2.5 libwebpdemux2 libwebpmux3 libx11-xcb1 libx265-165 libx265-192 python2 python2-minimal python3-asn1crypto python3-future python3-mock python3-pbr python3.7-minimal
    ruby-did-you-mean usb.ids
  これを削除するには 'apt autoremove' を利用してください。
  以下のパッケージは保留されます:
    guile-2.2-libs
  アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 1 個。