さくらVPS上で動いてるOSのアップグレードをしようと思います。
このサイトのサーバは「Debian6」で動いていましたが、「Debian7」にアップグレードしました。今回のアップグレードでは「sudo」の設定が変わったり、「Suhosin PHP モジュール」が削除されていて、ちょっと手間がかかったのでそれも記載しいきます。
また、宇宙ステーションで使っているノートPCはWindowsXPから変更してDebian6を使うことになったようですね。。
http://www.gizmodo.jp/2013/05/oswindows.html
http://training.linuxfoundation.org/why-our-linux-training/training-reviews/linux-foundation-training-prepares-the-international-space-station-for-linux-migration
宇宙ステーションで使うPCとかって、独自OS使っているものだと勝手に思っていたので、Windowsを使っていたことに逆に驚いていますが、Linuxの領域も家電、ロボット、スマホ等々どんどん広がっていってますね。
毎回書いてますが、DebianのコードネームはToyStoryキャラクターから付けていて今回は「Squeeze」→「Wheezy」だよ!
基本的には「Debian 6.0 (squeeze) からのアップグレード」を参照しながら行います。
http://www.debian.org/releases/wheezy/i386/release-notes/ch-upgrading.ja.html
・まずは、バックアップ
https://brokendish.org/debian/1723/
でやっているのでOK
・パッケージの状態をチェックする
dpkg --audit |
・hold 状態にあるパッケージを確認する
dpkg --get-selections | grep 'hold$' |
・衝突しているパッケージを削除する
apt-get search splashy |
・sources.listを編集
vi /etc/apt/sources.list
deb http://ftp.jp.debian.org/debian wheezy main deb-src http://ftp.jp.debian.org/debian wheezy main deb http://security.debian.org/ wheezy/updates main deb-src http://security.debian.org/ wheezy/updates main |
・パッケージリストの更新
apt-get update |
・まずは、システムの最小アップグレードを行う
apt-get upgrade |
・システムのアップグレード
apt-get dist-upgrade |
インストール中に設定ファイルを上書きするかの確認が出てくる
↓
再設定したくないので今までの設定ファイルを使う「デフォルト=N」にしておく
↓
Apache2のアップグレードでエラーになっている様子(後で見る)
↓
アップグレード終了
・システムの再起動
shitdown -r now |
・サービスが動いているか確認
Apache2はやっぱり動いてないので起動してみると・・
apache2: Syntax error on line 207 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/httpd.conf: No such file or directory
Action ‘configtest’ failed.
The Apache error log may have more information.
failed!
↓
解決方法
↓
vi /etc/apache2/apache2.conf
# Include all the user configurations: #Include httpd.conf <<ここをコメントアウト |
↓
/etc/init.d# ./apache2 restart
[ ok ] Restarting web server: apache2.
次の問題
Suhosin PHP モジュールのロードに失敗する
↓
dpkg --purge php5-suhosin |
で削除する
次の問題
・sudo -sでRootになった時にPATHの設定が出来てない
(注): root の PATH は通常、/usr/local/sbin:/usr/sbin:/sbin を含んでいるはずです。
E: Sub-process /usr/bin/dpkg returned an error code (2)
↓
●暫定対応として「sudo -s」した後に、sbinのパスを通す
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/local/sbin:/usr/sbin:/sbin
●本格対応
sudoersの設定ファイルが変わっているので変更する
(Apacheの設定ファイルのように分割されたみたい)
visudo -f /etc/sudoers.d/mySudoers
# Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL # Uncomment to allow members of group sudo to not need a password # (Note that later entries override this, so you might need to move # it further down) %hoge ALL=NOPASSWD: ALL Defaults syslog=local3 |
今までの設定ファイルを修正する
visudo
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # #includedir /etc/sudoers.d Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" |
——————————————-
・正常に動き出したのでバージョンを確認してみる
uname -a Linux brokendish 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2+deb7u2 x86_64 GNU/Linux |
cat /etc/debian_version 7.0 |
今回は色々めんどくさかったな。