TOTAL:3426, TODAY:390

玄箱HGをetchにバージョンアップ

今月号の日経LinuxでDebianの新しいパッケージetchがリリースされたことを知り、etchにアップしました。玄箱をWEBサーバとして運用している私としては、ちょっと心配だったのですが、ネットで探すと、既にアップされた方がたくさんいるようで、思い切ってバージョンアップしました。アップする前に、既にetch化されていたオモイノホカ日々徒然さんのブログにコメントを書いてみたら、etchのPowerPC用リリースノートを教えてもらい、ざぁーっと読んでからアップしました。一応成功し、本サイトは、玄箱HGのetchで動いています。アップの方法は、次の通りです。

sargeでの前準備

まずバックアップを行います。/etcや/home、WEBサーバのドキュメントルート、Subversionのレポジトリなど、大事なものをバックアップしました。私の場合、sambaからもアクセス可能なディレクトリ/mnt/shareにtar.gzファイルを作成し、PCにバックアップしました。例えば、/etcのバックアップならば、次のような感じです。

# cd /
# tar zcvf /mnt/share/etcbk.tar.gz etc

バックアップ後、次のコマンドでインストールが中断しているパッケージがないか探します。私の場合、インストールが中断しているパッケージはありませんでした。

# dpkg --audit

次に、/etc/apt/sources.listの中身をチェックします。すべて"sarge"になっていることを確認します。私の場合、次のようになっていました。

deb http://security.debian.org sarge/updates main contrib non-free
deb http://ftp2.de.debian.org/pub/debian sarge main contrib non-free

この"sarge"の状態で、パッケージリストを更新します。リリースノートには、"stable"も一旦"sarge"に変えた方がいいようなことが書いてありました。

# aptitude update

これで、前準備は終わりです。

etchにアップグレード

sargeでの前準備ができたので、etchにあげます。/etc/apt/sources.listを"etch"に変更します。私の場合は、上記"sarge"を"etch"に変えただけです。

deb http://security.debian.org etch/updates main contrib non-free
deb http://ftp2.de.debian.org/pub/debian etch main contrib non-free

ダウンロード先をetchに変更したので、まず、etchのパッケージリストを更新します。幾つかワーニングがでますが、気にしません。

# aptitude update

この後、dist-upgradeしたいところですが、リリースノートを見ると、まず、システムの最小アップグレードを行い、その上でdist-upgradeを行う2段階にした方がいいと書いてあったので、次のように2段階にしました。ところが、単なるupgradeは問題なくいけたのですが、dist-upgradeにおいて、下記のようなメッセージがでて、dist-upgradeできませんでした。

# aptitude upgrade
# aptitude dist-upgrade
     :   : 途中略 :   :
インストールできないパッケージがありました。おそらく、ありえない状況
を要求したか、不安定版ディストリビューションを使用しているなら必要な
パッケージがまだ作成されていないか Incoming から移動されていないと考
えられます。
以下のパッケージには解決できない依存関係があります:
  libfam0c102: 競合: libfam0 しかし、2.7.0-12 はインストール予定です。

libfam0c102って何でしょうね?その辺りに関して、リリースノートを調べると、4.5.4.2節の「Xのパッケージがいくつかインストールされているシステムのアップグレード」という節に、アップグレード方法が書いてありました。そのため、リリースノート通り、きちんとやるようにしました。まず、aptitude upgradeの後、次のコマンドで、libc6やlocaleがアップグレードされるようにします。

# aptitude install initrd-tools

幾つか聞かれますが、すべてデフォルト(つまり、リターンキー押しただけ)にします。そして、次のコマンドでX関係の何がインストールされているかを確認します。

# dpkg -l xfree86-common | grep ^ii
ii  xfree86-common 4.3.0.dfsg.1-1 X Window System (XFree86) infrastructure
# dpkg -l libfam0c102 | grep ^ii
ii  libfam0c102    2.7.0-6sarge1  client library to control the FAM daemon
# dpkg -l xlibmesa-glu | grep ^ii
xlibmesa-glu に一致するパッケージが見つかりません。

私の場合、xfree86-commonlibfam0c102がインストールされており、xlibmesa-gluはインストールされていませんでした。そのため、x11-commonlibfram0をインストールします。すると、次のようにxfree86-commonが削除され、libfam0c102が更新されました。

# aptitude install x11-common libfam0
    :   : 途中略 :   :
以下のパッケージが削除されます:
  xfree86-common
以下のパッケージが更新されます:
  fam fontconfig libfam0c102 libfontconfig1 libfreetype6 libgcc1 libice6
  libncurses5 libsm6 libx11-6 libxaw7 libxext6 libxmu6 libxpm4 libxt6 xterm
  xutils
    :   : 途中略 :   :

X関連についても、幾つか聞かれましたが、これもすべてデフォルトにしました。無事にインストールできたので、再度、dist-upgradeをしました。

# aptitude dist-upgrade

今度はうまくいき、250個ぐらいのパッケージがインストールされていきました。幾つか尋ねられますが、すべてデフォルトにしました。特に、玄箱では/etc/init.d/halt/etc/init.d/rebootは、玄箱用の設定がされているので、インストールされているバージョンを残すようにします。他の設定ファイルも同様に聞かれますが、すべてデフォルトの「現在インストールされている自分のバージョンを残す」を選択しました。

設定ファイル `/etc/init.d/halt'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されて
   います。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : この処理をバックグラウンドにし、状況を確認する
 デフォルトでは現在使っている自分のバージョンを残します。
*** halt (Y/I/N/O/D/Z) [デフォルト=N] ? N
    :   : 途中略 :   :
設定ファイル `/etc/init.d/reboot'
 ==> これはインストールしてから (あなたかスクリプトによって) 変更されて
   います。
 ==> パッケージ配布元が更新版を提供しています。
   どうしますか? 以下の選択肢があります:
    Y か I  : パッケージメンテナのバージョンをインストールする
    N か O  : 現在インストールされている自分のバージョンを残す
      D     : 両バージョンの差異を表示する
      Z     : この処理をバックグラウンドにし、状況を確認する
 デフォルトでは現在使っている自分のバージョンを残します。
*** reboot (Y/I/N/O/D/Z) [デフォルト=N] ? N

ほとんど問題なくいきましたが、ウィルスメール対策のamavisd-newだけはうまくインストールできなかったようです。

以下のパッケージの処理中にエラーが発生しました:
 amavisd-new
E: Sub-process /usr/bin/dpkg returned an error code (1)
 パッケージのインストール中に問題が起こりました。修復を試みます:
    :   : 途中略 :   :
以下のパッケージの処理中にエラーが発生しました:
 amavisd-new

とは言え、一応うまくetch化できたようで、改めてloginすれば、次のようにGNU/Linux 4.0 になっていました。ちなみにsargeはGNU/Linux 3.1です。etchはカーネル2.6.18が標準みたいですが、2.6.20のままでした。

Debian GNU/Linux 4.0
kurohg login: 
Password:
Last login: Sat May 19 01:07:14 2007 from 192.168.11.5 on pts/0
Linux kurohg 2.6.20-kuroboxHG #1 Mon Feb 5 22:40:49 JST 2007 ppc

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

この後、主なサーバを軽く調べましたが、うまく機能していなかったのは、sambaamavisd-newのようです。現在は問題なく動いており、その設定方法はそれぞれ、「etchでのsamba設定」、「etchでのメール設定」で紹介しています。また、WEBサーバ系は次のようにアップグレードされていました。

  • Apache 2.2.3
  • php 4.4.4 (※PHP5も正式にリリースされており、既にバージョンアップしました。詳細は「etchでPHP4->PHP5」にあります
  • MySQL 5.0.32
  • phpMyAdmin 2.9.1

MySQLとphpMyAdminは確認していないので、正しく動いているかどうか分かりませんが、apacheとphpはsargeの設定ファイルそのままで動いているようです。
MySQLとphpMyAdminの動作も確認しました。データベースやユーザもsargeのMySQL4.1.1で設定した内容がそのままきちんと残っていました。また、新たにデータを追加したりしましたが、問題なく追加・更新できました。sargeの時に、「玄箱WEBをUTF-8に統一」で書いたように漢字コードはUTF8化しており、これも問題はありませんでした。気のせいかもしれませんが、幾分phpMyAdminの速度が速くなったように思います。

最新の7件

OpenGL

電子工作

玄箱HG

ホームページ

日記

Copyright (C) 2007 Arakin , All rights reserved.