Debianのバージョンを6(squeeze) から 9(stretch) へアップグレードした作業ログ
概要
6→7→8→9と1つずつアップグレードしていく手法を採用した。 最小構成で行った方法なので、パッケージ関連の更新は名人の記事を参考にしよう!
6(squeeze) -> 7(wheezy)
まず、Debian6のパッケージを最新にする。
2018年3月現在、Debian6のサポートは切れており、日本のaptのミラーサーバftp.jp.debian.org
はすでにsqueeze向けのパッケージを提供していない。
そのため今回は、まだsqueezeに対応している archive.debian.org
を用いる。
aptのサーバを書き換えるために、まずは /etc/apt/sources.list
を以下の通りに書き換える
deb http://archive.debian.org/debian/ squeeze main contrib non-free deb-src http://archive.debian.org/debian/ squeeze main contrib non-free
contrib、non-freeはこの後にパッケージが必要になるので指定しておいた。 この状態でaptの更新をかける。
# apt-get update # apt-get upgrade # apt-get dist-upgrade
また、合わせて以下のパッケージを入れておいた。 これがないと、おそらくアップグレード時に依存関係のエラーが出る。
# apt-get install firmware-linux
次にsqueeze向けのリポジトリを登録する。
2018年3月現在、wheezyはサポート期間内なので、通常のリポジトリであるftp.jp.debian.org
を使う。
従って先程同様、 /etc/apt/sources.list
を編集。
deb http://ftp.jp.debian.org/debian wheezy main contrib non-free deb-src http://ftp.jp.debian.org/debian wheezy main contrib non-free deb http://security.debian.org/ wheezy/updates main contrib non-free deb http://ftp.jp.debian.org/debian/ wheezy-updates main contrib non-free deb-src http://ftp.jp.debian.org/debian/ wheezy-updates main contrib non-free
更に、必要な鍵をaptに登録する。
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 9D6D8F6BC857C906 # apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010
この状態でアップデートをかけよう。
# apt-get update
ここで以下のパッケージを入れておかないと(アップデートしておかないと)、今後エラーが出る。
# apt-get install initscripts
この状態でアップグレードをする。 この時、必要なパッケージが消去されないか、一応確認しながら実行する。
# apt-get upgrade # apt-get dist-upgrade
upgradeの最中に、yesかnoか聞かれることが多々発生する。これらは、しっかり読んで内容と環境に応じて選択しよう。configファイルの更新なども聞かれる。必要な設定を飛ばさないようにしながら対処しよう。
終わり次第、リブートする。
# reboot
再び立ち上がるとDebian7になっている!
# cat /etc/debian_version 7.11
7(wheezy) -> 8(jessie)
ここからは、多分そんなに詰まることはないと思われる。
一応、アップデートをかけておく。
# apt-get update # apt-get upgrade # apt-get dist-upgrade
先程同様、/etc/apt/source.list
をwheezyからjessieに置換するため、内容を以下のように書き換える。
deb http://ftp.jp.debian.org/debian jessie main contrib non-free deb-src http://ftp.jp.debian.org/debian jessie main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb http://ftp.jp.debian.org/debian/ jessie-updates main contrib non-free deb-src http://ftp.jp.debian.org/debian/ jessie-updates main contrib non-free
アップグレード実行!
# apt-get update # apt-get upgrade # apt-get dist-upgrade
途中、/etc/init.d/networking
の設定ファイルを新しいものにするか訊かれる
一応、 D
でdiffを確認
問題なさそうなら Y
で新しい設定ファイルを使うことにする。
終わったら再起動で、Debian8に進化している。
# reboot
# cat /etc/debian_version 8.10
8(jessie) -> 9(stretch)
さっきとだいたい同じ手順でいける。
ますはアップデートをする。
# apt-get update # apt-get upgrade # apt-get dist-upgrade
先程同様、/etc/apt/sources.list
の書き換え (jessie->stretchの置換)以下略
deb http://ftp.jp.debian.org/debian stretch main contrib non-free deb-src http://ftp.jp.debian.org/debian stretch main contrib non-free deb http://security.debian.org/ stretch/updates main contrib non-free deb http://ftp.jp.debian.org/debian/ stretch-updates main contrib non-free deb-src http://ftp.jp.debian.org/debian/ stretch-updates main contrib non-free
アップグレード実行
# apt-get update # apt-get upgrade # apt-get dist-upgrade
ここで rpcbind
と nfs-common
に関してエラーが出るだろう。
これはDebian Bug reportにも挙げられているもので(#830982, #865617)、rpcbindを止めておけばいいらしい。
# systemctl stop rpcbind # apt-get dist-upgrade
そして再起動。
# reboot
まとめ
サポートの終了した6から7へのアップグレードが多少面倒だったと思う。それ以降の7->9はサクサクいけた。
こういう面倒くさいアップグレード作業を経験すると、やっぱりローリングリリースのDebian sidは楽だなぁ、とか思う。
補足
今回は ftp.jp.debian.org
を用いたが、最近は結構不安定なので、台湾のミラーサーバ ftp.tw.debian.org
を用いても良いかもしれない。
debianでは、日本から接続する場合でも日本のミラーサーバより台湾のミラーサーバのほうが速度が出る、と言われている。
Debianのサポート期間
参考までに簡単にまとめておく。 勘の良い人は気づくかもしれないが、Debianのコードネームは、映画トイストーリのキャラクターにちなんでつけられている。過去のバージョンも、Woodyや、Buzzがいたりする。私はトイストーリーが個人的に好きなので、非常に興奮しながらバージョンを上げる回だった。
バージョン | コードネーム | リリース | サポート終了 |
---|---|---|---|
6 | Squeeze | 2011-02-06 | 2016-02-29 |
7 | Wheezy | 2013-05-04 | 2018-05-31 |
8 | Jeesie | 2015-04-25 | 2020-06-06 |
9 | Stretch | 2017-06-17 | 2022-06 |
10 | Buster | - | - |
11 | Bullseye | - | - |