debian9へのアップグレード方法

2017年7月7日

2017年 6 月 17 日にDebian 9「stretch」がリリースしました。

今回は実際に運用していたdebian8をdebian9へアップグレード出来たので、アップグレード方法を紹介したいと思います。

手順は次のようになります。

  1. バックアップを取る
  2. サービス及び自動実行スクリプトの停止
  3. パッケージをすべて最新にする
  4. ソースリストの書き換え
  5. 更新作業
  6. サービス及び自動実行スクリプトの開始

1.バックアップを取る

まずは、必ずバックアップを取ってください。これは、更新が失敗したときの最後の切り札となります。これだけあれば、再インストールしても、元の状態に戻れるぐらいのレベルで行ってください。


2.サービス及び自動実行スクリプトの停止

これは、自分で構築して起動中である、SQLやApache、ゲームサーバなどを指します。更新中もこれらはサービスとして動きつつけるため、多くのパッケージが書き換わる更新中は停止しましょう。停止の仕方は、サービスであれば、


sudo servise [サービス名] stop

で停止できます。自動実行スクリプトとは主にcrontabによって起動するスクリプトを指します。これらに登録されていて、更新中に必要でない作業であれば、#を先頭に書き込んでコメントアウトしておきましょう。


00 05 * * * /sbin/hwclock -w  #(変更前)
#00 05 * * * /sbin/hwclock -w #(変更後)


3.パッケージをすべて最新にする

更新をする前にすべての更新を終わらせましょう。以下のコマンドを実行しましょう。

sudo apt-get update
sudo apt-get upgrade
sudo apt-get upgrade

おそらく3回目ですべてのパッケージが更新されると思います。更新できるパッケージがなくなるまで

sudo apt-get upgrade

をしましょう。


4.ソースリストの書き換え

ソースリストとは、"/etc/apt/sources.list"のことです。ここに、debianのパッケージのダウンロードサーバーが記入されています。

まずは、ソースリストをバックアップしましょう。バックアップは


sudo cp /etc/apt/sources.list /etc/apt/sources.list.Backup

でとれます。

復元する際は


sudo cp /etc/apt/sources.list.Backup /etc/apt/sources.list

となります。バックアップが終われば、ソースリストの書き換えを行います。以下のソースリストを例にします。

 


#変更前の"/etc/apt/sources.list"

# セキュリティ更新
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

## Debian アーカイブミラー

# ベースリポジトリ

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://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

# 安定版バックポート

deb http://ftp.debian.org/debian jessie-backports main contrib non-free
deb-src http://ftp.debian.org/debian jessie-backports main contrib non-free

 

この"jessie"をすべて、"stretch"に書き換えます。


#変更後の"/etc/apt/sources.list"

# セキュリティ更新
deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free

## Debian アーカイブミラー

# ベースリポジトリ
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://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
# 安定版バックポート
deb http://ftp.debian.org/debian stretch-backports main contrib non-free
deb-src http://ftp.debian.org/debian stretch-backports main contrib non-free

これで更新の準備が完了しました。この書き込みにはテキストエディターのvimなりnanoなり海苔なりを使ってください。

※海苔というエディターはありません


5.更新作業

上記の手順で更新の準備が完了したので、実際に更新を行います。ちゃんとバックアップはしましたか?では始めましょう。

以下の順番でコマンドを実行しましょう。


sudo apt-get update
sudo apt-get upgrade
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo reboot
sudo apt-get autoremove

2.3.4は実際にパッケージを更新するため、設定ファイルを更新するかどうかを聞いてきます。基本はEnter(現在の設定ファイルを保持)でいいですが、過去に弄って失敗した設定ファイルであれば、初期化してもいいでしょう。

更新が終われば、再起動をするため5を実行してください。その後正常に起動すれば、6を実行し、いらなくなったパッケージを削除しておきましょう。


6.サービス及び自動実行スクリプトの開始

サービスは殆どの場合、再起動をした時点で起動しているはずです。自身でcrontabの内容をコメントアウトした場合はもとに戻しましょう。


以上がdebian8からdebian9へのアップグレード方法でした。

 

PCdebian, linux

Posted by penM