Raspbianをwheezyからjessieにアップグレード
2015/04頃にdebianのバージョン8 jessieがリリースされたようです。
それに伴い、現在では配布されているraspbianもjessieになっているらしいのですが、私がセットアップした頃はまだwheezyでした。
今回はraspbianをwheezyからjessieにアップグレードします。
システムを最新の状態へ更新
システムのバージョンを確認して8未満であった場合にはアップグレードを行います。
そこでまずは現在のraspbianを最新の状態へ更新します。
アップグレード前なので、念のためです。
root@raspberrypi:~# cat /etc/debian_version 7.8 root@raspberrypi:~# apt-get update root@raspberrypi:~# apt-get upgrade root@raspberrypi:~# apt-get dist-upgrade
wheezyをjessieへアップグレード
システムを最新にしたら早速アップグレードを行います。
まずはapt-getの問い合わせ先をjessieのものに変更します。
# :%s/wheezy/jessie/g で置換できる
root@raspberrypi:~# vi /etc/apt/sources.list
変更が完了したら、アップグレードを行います。
システムのデフォルト状態から変更されたファイルがある場合にはアップデートやアップグレード中に確認が入るため、夜中に通して実行などはできませんので注意してください。
夜中の間に実行したい場合には -y オプションで可能ではありますが、オススメしません。
root@raspberrypi:~# time apt-get update real 1m14.749s user 0m46.280s sys 0m3.050s root@raspberrypi:~# time apt-get upgrade (略) real 33m32.162s user 7m36.170s sys 2m48.870s root@raspberrypi:~# time apt-get dist-upgrade (略) 設定ファイル '/etc/pam.d/su' ==> これはインストールしてから (あなたかスクリプトによって) 変更されています。 ==> パッケージ配布元が更新版を提供しています。 どうしますか? 以下の選択肢があります: Y か I : パッケージメンテナのバージョンをインストールする N か O : 現在インストールされている自分のバージョンを残す D : 両バージョンの差異を表示する Z : 状況を調査するためにシェルを開始する デフォルトでは現在使っている自分のバージョンを残します。 *** su (Y/I/N/O/D/Z) [デフォルト=N] ? Y (略) real 75m5.914s user 12m42.040s sys 4m35.720s
一箇所サンプルを記載しましたが、(略)となっている部分には何回か上記のような設定の上書き確認が表示されています。
ここは個人で判断して選択してください。
全部Yにしても、何が差し戻されたかだけ控えていればあとから設定の修正は可能です。
必要であれば以下のようにしてテキストに出力しておくと良いかもしれませんね。
またコマンドの先頭にtimeをつけている部分がありますが、これを行うとコマンドの実行時間が計測できます。
目安として記録してみました。結構かかります。
$ apt-get dist-upgrade > output.txt
最後にシステムの再起動をして完了です。
ちなみに私はシステム再起動を行う前に設定が変更されてしまっていたpam.d/suを先に修正しました。
root@raspberrypi:~# reboot
アップグレード確認
再起動が完了したら、システムがアップグレードされているか確認します。
root@raspberrypi:~# cat /etc/debian_version 8.0 root@raspberrypi:~# hostnamectl Static hostname: raspberrypi Icon name: computer Chassis: n/a Machine ID: 440a68c6f28d3e287c6b6c7b554a9684 Boot ID: ff532e20c64442e4ab446002b7cf2190 Operating System: Raspbian GNU/Linux 8 (jessie) Kernel: Linux 4.1.7-v7+ Architecture: arm
上記それぞれでバージョン8にアップグレードされていることが確認できました。
不要パッケージ等の削除
最後に不要パッケージや、不要な設定ファイルを削除します。
wheezyからjessieに変更するとinitシステムがsysvinitからsystemdに変更されているため、wheezyの起動ファイルや設定ファイルが残っているのは好ましくありません。
いつかきっと謎エラーを発生させて、我々のやる気を削ぐことになるでしょう。
# 不要パッケージ削除 root@raspberrypi:~# apt-get autoremove root@raspberrypi:~# apt-get autoclean # https://www.debian.org/releases/jessie/mips/release-notes/ch-information.ja.html # rc" ("Removed, but Config-files remain"、削除されたが設定ファイルが残っている) root@raspberrypi:~# dpkg -l | awk '/^rc/ { print $2 }' root@raspberrypi:~# apt-get purge $(dpkg -l | awk '/^rc/ { print $2 }')
これで不要パッケージの削除と、不必要な設定ファイルが削除されました。
あとがき
CentOS7でもsystemdが利用されるようになりましたよね。
あぁsystemd流行ってるのかなと思うと、そもそも従来のinitとsystemdで何がどう違うのか知りたくなります。
今のところはsystemdの方が起動時のログ系が見づらいという印象しかないのですが、たぶんちゃんと調べるとsystemdの方が全体的に優れているんでしょうね。
気になります。