ServersMan@VPSのDebianをsqueezeに更新

Tablet PC deals and Promotion
新居

ちょうどServersMan@VPSのセットアップが一段落したころに、Debianの新バージョンsqueezeがリリースされたので、ServersMan@VPSのDebianをlenny(5.0)からsqueeze(6.0)いバージョンアップすることにしました。

参考資料

とりあえず、オフィシャルの文章は確認しときましょう。

準備

リリースノートのドキュメントにしたがって、サポートされていないパッケージの削除などを行います。

sudo apt-get purge splashy
sudo dpkg --audit
sudo dpkg --get-selections "*" > ~/curr-pkgs.txt

curr-pkgs.txtの内容をチェックしてholdとなっているパッケージがないことを確認。

aptの設定を変更

/etc/apt/source.listを変更します。現在の設定はすべて#でコメントアウトして、下記の行を追加します。

deb http://ftp.jp.debian.org/debian squeeze main contrib non-free
deb http://ftp.jp.debian.org/debian squeeze-updates main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free

更新

いよいよ更新。下の2つのコマンドで最小限の更新を実行。
ちなみにダウンロードはかなり早いです。さすがDTI(freebit)のネットワークに直結しているだけあります。

sudo apt-get update
sudo apt-get upgrade

更新しているといくつか問い合わせが出てくることがあります。
正しいかわかりませんが、私の例を書いておきます。

  • wide-dhcpv6-client
    • 「venet0:0 venet0:1」と入力
  • libpam0g
    • そのままで了解
  • ajaxterm
    • そのままリターン。
    • ajaxtermが有効になるので後で削除をする。

最小限の更新が完了したら、まとめてシステム全体を更新

sudo apt-get dist-upgrade

またいろいろ問い合わせが出ます。私の回答は下記のとおりです。

  • dash
    • そのままでリターン
  • LDAPサーバ
    • そのまま了解。あとで削除するかも。
  • libnss-ldap
    • そのまま了解。あとで削除するかも。
  • libc6
    • そのままでリターン。sshをリスタートするけど問題ありません。
  • /etc/cron.daily/apt
    • Y入力を押してメンテナのバージョンをインストール
  • sysv-rc
    • vzquotaでエラーが指摘されるが、仕方ないのでそのままリターン
  • /etc/apache2/envvars
    • そのままリターン
  • /etc/apache2/sites-available/default
    • そのままリターン
  • /etc/apache2/ports.conf
    • そのままリターン
  • /etc/apache2/apache2.conf
    • そのままリターン

ここまで完了したら、ダウンロードしたパッケージを削除しておきます。

sudo apt-get clean

調整

いくつか/etc内の設定ファイルが無効な状態になっているので、調整します。

Apache

更新したパッケージについてきた設定ファイルが/etc/apache2の下に、envvars.dpkg-dist, apache2.conf.dpkg-dist, ports.conf.dpkg-distという名前でコピーされています。
それぞれenvvars, apache2.conf, ports.confと比較してします。
設定内容が変わらなければ*.dpkg-distを上書きしてしまってよいとおもいます。

ajaxterm

squeezeに更新した弾みで復活しています。また無効にします。

sudo rm /etc/default/ajaxterm.dpkg-dist
sudo /etc/init.d/ajaxterm stop
sudo update-rc.d -f ajaxterm remove

cron

設定ファイルの名前を変えておきます。

cd /etc/cron.daily
sudo mv man-db.dpkg-dist man-db
sudo mv standard.dpkg-dist standard

cd /etc/cron.weekly
sudo mv man-db.dpkg-dist man-db

リブート

リブートコマンドを実行して、システムを再起動させます。

sudo reboot

当然SSHが切断されるので、2,3分まって再接続します。

不要なパッケージの削除

まずはaptコマンドで自動削除します。

sudo apt-get autoremove

次に、lenny用のパッケージを見つけます。

dpkg -l | grep lenny

これで表示されたパッケージのうち、先頭が”rc”で始まるものはごみなので、削除してしまってOKです。

sudo apt-get purge libbind9-50 libdns55 libisc52

先頭が”ii”で始まっているものもたぶん削除してしまってOKです。

sudo apt-get purge libdns58 libisc50 libltdl3 liblwres50 libmysqlclient15off

不要パッケージを発見するコマンドdeborphanをインストールして、deborphanを使って不要なパッケージを削除します。ちなみに2回ほど何度か実行したほうがよいです。

sudo aptitude install deborphan
sudo apt-get purge `deborphan `
sudo apt-get --purge autoremove
sudo apt-get purge `deborphan `

まとめ

これにてServersMan@VPSのDebianをsqueezeに更新する作業は完了!
最新のパッケージが使えるので便利です。

次回はApacheの設定を行います。