Serversman@VPSでのDebian 7から8へのアップグレード方法をまとめた記事です。
シンプルプランで、初期から何もいじってない事を前提にしています。
このアップデートは公式からの保証(サポート)対象外になるので、バックアップをしっかり取って自己責任でお願いします。
(ここのVPSを改めて使う物好きな人は中々いないと思いますけども。)
Debian Wheezyからの出発です。
# cat /etc/debian_version
7.6
デフォでipv6が有効になっていますが、何故か非常に遅いので無効化しておきます。
# vim /etc/sysctl.conf
# sysctl.confの最後らへんに以下を記述
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
# 設定を読み込む
# sysctl -p
初めにまずアップデートをしたいところですがWheezyはサポートが終わっているので初期設定のままではapt-get updateをしても404が返って来てアップデートできません。テンプレートの最新版がWheezyとかServsersmanさん○○ですね。
アップデートをするには、取得先をarchiveに変える必要があります。
# vim /etc/apt/sources.list
# sources.list
# securityの方はとりあえず無視します。
-deb http://ftp.debian.org/debian wheezy main contrib non-free
+deb http://archive.debian.org/debian wheezy main contrib non-free
# apt-get update; apt-get upgrade -y; apt-get dist-upgrade -y
これで、とりあえずアップデートができました。
では、WheezyからJessieへアップグレードします。
この際にsystemdへ移行してしまうと非常にまずいのでこちらの方法で移行しないようにしておかなければいけません。この手順を忘れるとOSの再インストール(復元)が必要になりますよ。
# vim /etc/apt/preferences.d/local-pin-init
# local-pin-init
Package: systemd-sysv
Pin: release o=Debian
Pin-Priority: -1
次にsources.listをJessieのものに変更します。
# vim /etc/apt/sources.list
# sources.list
-deb http://archive.debian.org/debian wheezy main contrib non-free
-deb http://security.debian.org wheezy/updates main contrib non-free
+deb http://ftp.debian.org/debian jessie main contrib non-free
+deb http://security.debian.org jessie/updates main contrib non-free
後はアップグレードするだけですが、この際にplymouthのバージョンが云々でエラーが出てしまうので、一旦削除してからWheezyからJessieへアップグレードします。
アップグレードが終わればplymouthを改めてインストールしてください。
# apt-get remove --purge plymouth -y
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
# apt-get install plymouth -y
ここまで無事に済んで胸を撫で下ろしたいところですが、まだ落とし穴が残念ながら潜んでいます。
今のままではシャットダウンやリブートなどができません。
init: timeout opening/writing control channel /run/initctl
こんなエラーが出ます。upstartがないのが原因っぽいので、最後にこれをインストールすればアップグレードの終了です。
お疲れさまでした。
# apt-get install upstart -y
# cat /etc/debian_version
8.11