お薦め ページ


メニュー

ハワイ島 遊覧飛行ツアー

ハワイ島 B&B・ホテル

ハワイ島 不動産情報

ハワイ島 情報・観光ガイド

ブログ(Blog)

その他

関連サイト

: 日付別 アーカイブ :

2007年6月 3日 - 2007年6月 9日

2007年6月 9日

Apache 2.2.x : [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter

FreeBSD上で Apache 2.2.x を起動させると
[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
のようにWarningが出る場合がある. このWarningの意味は何なのか? どのように対応したらよいのか?

いろいろググってたら、原因は accf_http.koというカーネルモジュールがないためのようだ。 よってその解決策としては、
# kldload accf_http.ko
を行って、accf_http.ko カーネル・モジュールをロードしてから アパッチを再起動するとよいらしい。実際に試してみると確かに上記のエラーが出なくなった。 ちなみに 「kldload」 とは カーネルリンカを用いて XXXX.ko をカーネルにロードするコマンド。

また、現在のカーネルモジュールを確認するには、動的カーネルリンカの状態を表示するコマンド 「kldstat」 を用いて
# kldstat
Id Refs Address    Size     Name
 1    8 0xc0400000 7a05b0   kernel
 2    1 0xc0ba1000 5c304    acpi.ko
 3    1 0xc2447000 19000    linux.ko
 4    1 0xc2843000 2000     accf_http.ko
のようにするとよい。

ただし、このままでは アパッチを起動する際に、毎回 kldload コマンドを手入力しなければならなくなる。 この事態を避けるためには FreeBSDの起動時に自動的に accf_http.ko を読み込ませればよいことになる。 そのためには、 /boot/loader.conf
accf_http_load="YES"
の一行を加えておけばよい。 これも実際に試してみて、確かに FreeBSDの起動時から Apache 2.2.x がエラーなく起動するようになった。

これで、とりあえず、エラーは出なくはなったが、 何故、このエラーが表示されていたのか? このエラーに対してアパッチ側での何の対応もできないのか? という疑問が残る。 もう少し、調査してみることにする。

【参考リンク】

カテゴリー: Apache , FreeBSD     22:31 | コメント (0) | トラックバック (0)

2007年6月 8日

FreeBSD で emacs を X11 無しでインストールする方法

FreeBSD において、 例えば emacs をports からインストールしようとすると デフォルトでは X11 関連のライブラリも同時にインストールされてしまう。 しかし、バーチャル・プライベート・サーバ等を間借りしているような場合は telnet(SSH)でログインして、キャラクターベースでしか emacs を使わない訳だから、 X11関連のライブラリは不要である。 そんな不要な X11関連の巨大なファイル群で 貴重なディスク・スペースが占領されてしまうのは非常にもったいない話だ。

そこで、emacsを X11無しでコンパイルする方法があるのかを調査してみた。 まず、/usr/ports/editors/emacs にある、Makefile を解析してみる。
# New ports collection makefile for:    GNU emacs
# Date created:         11 October 2001
# Whom:                 MANTANI Nobutaka <nobutaka@nobutaka.com>
#
# $FreeBSD: ports/editors/emacs/Makefile,v 1.73 2007/10/08 23:29:46 keramida Exp $
#

PORTNAME=       emacs
PORTVERSION=    ${EMACS_VER}
PORTREVISION=   2
CATEGORIES=     editors ipv6
MASTER_SITES=   ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR=     ${PORTNAME}

MAINTAINER=     keramida@ceid.upatras.gr
COMMENT=        GNU editing macros

.if !defined(WITHOUT_X11)
.if defined(WITHOUT_GTK)
LIB_DEPENDS=    Xaw3d.${XAWVER}:${PORTSDIR}/x11-toolkits/Xaw3d
.endif
LIB_DEPENDS+=   jpeg.9:${PORTSDIR}/graphics/jpeg \
                tiff.4:${PORTSDIR}/graphics/tiff \
                ungif.5:${PORTSDIR}/graphics/libungif \
                png.5:${PORTSDIR}/graphics/png
.endif

CONFLICTS=      emacs-19.* emacs-21.* \
                xemacs-[0-9]* xemacs-devel-[0-9]* \
                xemacs-mule-[0-9]* xemacs-devel-mule-[0-9]*

EMACS_VER=      22.1
GNU_CONFIGURE=  yes
USE_GMAKE=      yes

.if !defined(WITHOUT_X11)
.if !defined(WITHOUT_GTK)
USE_GNOME=      gtk20
.else
USE_XLIB=       yes
.endif
USE_XPM=        yes
.endif

CONFIGURE_TARGET=       ${MACHINE_ARCH}-freebsd
.if defined(WITHOUT_X11)
CONFIGURE_ARGS=         --with-x=no
.else
.if !defined(WITHOUT_GTK)
CONFIGURE_ARGS=         --with-gtk
.endif
.endif

.if defined(WITHOUT_XIM)
CONFIGURE_ARGS+=        --without-xim
.endif

MAN1=           ctags.1 emacs.1 emacsclient.1 etags.1
PLIST_SUB=      EMACS_VER=${EMACS_VER} EMACS_ARCH=${CONFIGURE_TARGET}

MAKE_ENV=       LC_ALL=C

INFO=           ada-mode autotype calc ccmode cl dired-x ebrowse ediff \
                efaq eintr elisp emacs-mime emacs erc eshell eudc \
                flymake forms gnus idlwave info message mh-e newsticker \
                org pcl-cvs pgg rcirc reftex sc ses sieve smtpmail speedbar \
                tramp url vip viper widget woman

LATEST_LINK=    emacs

.include <bsd.port.pre.mk>

.if ${ARCH} == "ia64"
BROKEN= Emacs 22.X does not currently build on ia64
.endif

pre-everything::
.if !defined(WITHOUT_X11) && !defined(WITHOUT_GTK)
        @${ECHO_MSG} "====>"
        @${ECHO_MSG} "====> To disable GTK+ interface support, define WITHOUT_X11 or WITHOUT_GTK"
        @${ECHO_MSG} "====>"
.endif
.if !defined(WITHOUT_X11) && !defined(WITHOUT_XIM)
        @${ECHO_MSG} "====>"
        @${ECHO_MSG} "====> To disable X11 Input Method support, define WITHOUT_XIM"
        @${ECHO_MSG} "====>"
.endif

post-patch:
        @${RM} -f ${WRKSRC}/info/*

.include <bsd.port.post.mk>
この中で、ports間の依存関係を記述しているのが 20行目の
LIB_DEPENDS=    Xaw3d.${XAWVER}:${PORTSDIR}/x11-toolkits/Xaw3d
という記述だ。 ここで、 Xaw3d など、X11関連が指定されている。 よくみると、その2行上に
.if !defined(WITHOUT_X11)
という記述がある。 これは、「もし、WITHOUT_X11が定義されていなければ」と読める。 つまり、「 LIB_DEPENDS= 」は 「 WITHOUT_X11 」が定義されていない場合に限り 評価される、と言うことだ。 逆に言うと、「もしWITHOUT_X11が定義されていれば、LIB_DEPENDS=... は無視する 」 ということになる。

その後、ググッたりして確認してみると、 先日のブログ「FreeBSD の /etc/make.conf」で ふれた /etc/make.conf に
WITHOUT_X11=yes
の1行を記述しておくと、 emacs の ports を make する際に、何も指定しなくても、 X11関連を省いた形でビルドしてくれることが判明した。

これについては、 「portsでX非依存で入れたい」 にも記述がある。 また、「WITHOUT_X11=yes」だけでなく、「WITHOUT_GUI=yes」や 「NO_X=true」などもあるようだ。 どこかに、これらの変数についてまとめてあるとうれしいのだが。

【参考リンク】

カテゴリー: FreeBSD     22:03 | コメント (0) | トラックバック (0)

2007年6月 7日

Apacheを 2.0 から 2.2 へアップデートすると SSLが無効になるトラブル

既に、Apache 2.0 で 走っているサイトを 、Apache 2.2 にバージョンアップしてみた。 その時のトラブルと、その解決方法について。

以前のブログでもふれたとおり、通常Apacheを起動するためには、
# /usr/local/apache2/bin/apachectl start
のようなコマンドで起動することになる。 一方、今回バージョンアップしたこのサイトには、 https: つまり SSL でアクセスするページが含まれていた。 Apache 2.0 では、SSLを有効とするために、 「start」オプションではなく、
# /usr/local/apache2/bin/apachectl startssl
のような「startssl」オプションを指定する必要があった。

ところが、Apache 2.2 からは、この「startssl」というオプションが廃止され、 SSLを起動する場合でも「start」オプションでよくなった。 これについては、マニュアルの 「Upgrading to 2.2 from 2.0」に
The apachectl option startssl is no longer available. To enable SSL support, you should edit httpd.conf to include the relevant mod_ssl directives and then use apachectl start to start the server. An example configuration to activate mod_ssl has been included in conf/extra/httpd-ssl.conf.
と記述されている。

Apacheを 2.0 から 2.2 にアップグレードした後、 従来の httpd.conf と ssl.conf のままに 「apachectl start」として起動してみた。 ちなみに、httpd.conf から ssl.conf をインクルードする設定にしてあり 今まで問題なく起動してきているモノだ。 その結果、通常のページ、 つまり、ポート80 の「http://」のページには 問題なくアクセスできるのだが、 SSLページ、つまり、ポート443 の「https://」のページには アクセスできないトラブルにハマッてしまった。 いろいろ 試してみた結果、ssl.conf は キチンとインクルードされていることは確認できた。

その後も いろいろ調査した結果、 結局この問題の解決策として、ssl.conf の中に記述されている <IfDefine SSL> と <IfDefine> を コメントにすることによって、 従来どおりにSSLのページが動作するようになった。

推測であるが、Apache 2.0 の apachectl は 「startssl」オプションで起動すると、 おそらく、SSLという変数を定義してから、 httpd.conf (ssl.conf) を読み込んでいた、と考えられる。 ところが、Apache 2.2 になって それがなくなったために <IfDefine SSL> 〜 <IfDefine> の内部が解釈されなくなったようだ。

それから、今回のようなケースでは、 /usr/local/etc/rc.d/apache2.sh 等の Apacheの自動起動スクリプトの記述にある、 「apachectl startssl」を 「apachectl start」 に書き換えるのもお忘れなく!

【参考リンク】

カテゴリー: Apache     22:20 | コメント (0) | トラックバック (0)

2007年6月 6日

FreeBSD の /etc/make.conf

FreeBSDでは、アプリケーションを ports で コンパイル(Make)する際の動作をコントロールするためや、 カーネルやシステム全体をコンパイルし直す際に 「/etc/make.conf」というファイルを作成して、 いろいろ設定する必要がある場合がある。

「make.conf」についてはマニュアル があり、その一節には、
make.conf の主要な目的は、通常、/usr/src, /usr/doc と /usr/ports にある FreeBSD ソース、文書 (ドキュメント)、と移植されたアプリケーションの コンパイルを制御することです。 一般に、特定の制御変数の値をデフォルトから変更する必要があるとき、 システム管理者は make.conf を作成します。
とある。 マニュアルには、沢山の変数についての説明がある。

この 「make.conf」のデフォルト値は、 /usr/share/example/etc/make.conf もしくは /usr/share/examples/etc/defaults/make.conf にあるようだ。 このサンプルmake.confファイルに 多くの変数がコメントとして記述されている。 実際にこのmake.confを利用する際には、
# cp /usr/share/example/etc/make.conf /etc/make.conf
のようにサンプル・ファイルをコピーしてから、 必要に応じて、/etc/make.conf にある 沢山の変数の中からコメントを外すなり、設定値を変えるとよいようだ。

いろいろ make.conf について調査していると、 マニュアルには記述されていない変数も 沢山 存在しているようだ。 例えば、Perlに関しては
PERL_VER=5.8.8
PERL_VERSION=5.8.8
のような設定が存在しているようだ。

【参考リンク】

カテゴリー: FreeBSD     22:44 | コメント (0) | トラックバック (0)

2007年6月 5日

FreeBSD で CPU や 周辺デバイスを調査する方法

FreeBSD が走っている環境で CPU や 周辺デバイスを調査するには、 「 /var/run/dmesg.boot 」というテキストファイルを見てみると良い。 このファイルはマニュアル 「dmesg」 によると、 「通常は、起動時にファイルシステムがマウントされたすぐ後の、 バッファ内容のスナップショット」 であると記述されている。

具体例を見てみようと思う。 チョット古めPCサーバーを例としてみる。 実際のファイルは長いので、まずは始めの部分だけをみてみると、
Copyright (c) 1992-2004 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 4.10-STABLE #0: Fri Dec  3 17:06:15 EST 2004
    admin@bsdhost.jvds.com:/usr/obj/usr/src/sys/GENERIC
Timecounter "i8254"  frequency 1193182 Hz
CPU: Intel(R) Pentium(R) 4 CPU 3.20GHz (3194.10-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf43  Stepping = 3
  Features=0xbfebfbff
  Hyperthreading: 2 logical CPUs
real memory  = 2138767360 (2088640K bytes)
avail memory = 2077728768 (2029032K bytes)
Preloaded elf kernel "kernel" at 0xc0554000.
Warning: Pentium 4 CPU: PSE disabled
Pentium Pro MTRR support enabled
となっている。

この4行目の
FreeBSD 4.10-STABLE #0: Fri Dec  3 17:06:15 EST 2004」
で このシステムのバージョンが 4.10 の STABLE であることがわかる。

さらに、7行目の
CPU: Intel(R) Pentium(R) 4 CPU 3.20GHz (3194.10-MHz 686-class CPU)
で CPUの メーカー、 種類、クロックまでわかる。

また、11行目の
real memory  = 2138767360 (2088640K bytes)
avail memory = 2077728768 (2029032K bytes)
という行で、メモリが 2Gバイト 搭載していることがわかる。

この後、各種デバイスについての記述となる。 例えば、
rl0: <RealTek 8139 10/100BaseTX> port 0xe400-0xe4ff mem 0xfbfff800-0xfbfff8ff irq 11 at device 13.0 on pci1
rl0: Ethernet address: 00:17:31:0d:0a:ba
で、 Eternet が 「RealTek」の 8139 で 10/100 対応であることと、 その Macアドレス が判明する。

それから、このサーバーのストレージ・システムを例にとると、
twe0: <3ware Storage Controller driver ver. 1.40.01.002> port 0xe800-0xe80f mem 0xfb000000-0xfb7fffff,0xfbfffc00-0xfbfffc0f irq 11 at device 10.0 on pci1
twe0: 2 ports, Firmware FE8S 1.05.00.068, BIOS BE7X 1.08.00.048
で、3ware の Storage Controller を利用しているのがわかるし、
twed0: <Unit 0, TwinStor, Normal> on twe0
twed0: 114472MB (234439600 sectors)
Mounting root from ufs:/dev/twed0s1a
で、全体の容量が114Gバイトあり、 ルート・ディレクトリ が /dev/twed0s1a にマウントされていることもわかる。

【参考リンク】

カテゴリー: FreeBSD     22:52 | コメント (0) | トラックバック (0)

2007年6月 4日

今使っているPCの CPU を調査できる「CPU-Z」

現在、自分が使用中のPCについての 正確な CPUの種類や クロック数、 ましてや マザー・ボードに使用されている チップセットに関する情報については なかなか判りずらいものである。 これらの情報を簡単に集めて 教えてくれるソフトウェアがある。 それが、 「CPU-Z」 というソフトだ。

このソフトは CPUID というサイトから zipファイルをダウンロード後、解凍するだけ。 インストールする必要は全くない、 単に、「cpuz.exe」を実行するだけである。 画面には 「CPU」「Cache」「Mainboard」「Memory」「SPD」「About」 という6つのタブが表示される。

例えば、「CPU」タブなら 「Processor」「Clocks」「Cache」 3つのセクションに分かれていて、 プロセッサーの Name, Package, Core Voltage, Core Speed, その他 沢山の関連情報が表示される。

一般の方々に おそらく最も役に立つであろうと 思えるのが、「SPD」タブ。 このタブでは、マザーボード上のメモリのスロットに関する情報が表示される。 メモリ・スロットはいくつあるのか? また、どのスロットに どのサイズのメモリ・モジュールが搭載されているのか、 まで判ってしまう。 メモリ増設を考える際に、このソフトがあると、 本体の蓋を開けなくても済んでしまうわけだ。

【参考リンク】

カテゴリー: Software     22:14 | コメント (0) | トラックバック (0)

2007年6月 3日

ウィンドウズ上での md5ハッシュ値 チェックソフト

以前のブログで、ファイルのダウンロード時に MD5ハッシュ値(いわゆるMD5チェックサム)の確認方法について調査した。 FreeBSD 上では、標準で「md5」というコマンドが存在するので 何ら新しいソフトウェアをインストールする必要はなかった。 では、ウィンドウズ上にファイルをダウンロードした際には どうやってMD5ハッシュ値を調べたらよいのだろうか?

これについては、 @IT の 「ハッシュ値を利用してファイルの同一性をチェックする」 という記事に詳しい解説がある。 この記事では、Windows上で動作する フリーソフトということで GUI用ツール 「HashTab Shell Extension」 と コマンドライン用ツール 「Availability and description of the File Checksum Integrity Verifier utility」 の2種類を紹介している。 ちなみに、後者 コマンドライン「FCIV」 の方は 本家マイクロソフト(Microsoft)のサポート・ページからダウンロードできるものだ。

今回は、GUI用ツール Beeblebrox.org の 「HashTab Shell Extension」 の方を試してみよう。 Beeblebrox.org サイトの説明を引用させていただくと、
This is a Windows shell extension that adds a tab to the file properties page. The new tab is called "File Hashes" and it displays the MD5, SHA1 hashes of the file's contents as well as the CRC-32. It also has a field where you can paste in the text of a hash for comparison. This is useful for when download sites display hashes of a file and you want to check the hash after you download. See the HashTab page for more info...
となっている。 つまり、ファイルのプロパティ表示に「ハッシュ値」という タブが新たに加わり、そのタブ内で MD5, SHA1, CRC-32 の3つの ハッシュ値を表示してくれるらしい。

実際に Beeblebrox.org ダウンロードする際には64bitバージョンもあるので、どちらかを選択できる。 32bitバージョンの方の「hashtab_setup.exe」を ダウンロードしてみたが サイズは 187KB であった。 あとはこの「hashtab_setup.exe」を実行すると 「HashTab 1.14 for x32」セットアップ・ウィザードが起動する。 インストールが終了すると、次に瞬間から利用することができる。 適当なファイルを右クリックして、プロパティを表示させると、 「ハッシュ値」という新しいタブが追加されている。

おどろいたことに、表示が日本語になっている。 言語の設定をみて表示が変わるようにしてあるのであろう。 また、サイズの大きなファイルを指定すると、当然だが計算に時間がかかる。 その様子が「ハッシュ値の取得状況」として画面下にグラフとして表示される。 MD5, SHA1, CRC-32 の それぞれの計算値の下には 空欄があり、その欄へ既知のハッシュ値をカット&ペーストして 横にある「比較」ボタンをクリックすると 比較結果を教えてくれる。

ウィンドウズ上でファイルをダウンロードする機会の多い方は インストールしておくと便利なソフトだと思う。

【参考リンク】

カテゴリー: Security , Software , Windows     22:15 | コメント (0) | トラックバック (0)

 
ハワイ島での遊覧飛行ツアーとB&Bのスペシャリスト、スカイメリカ
Copyright © 2003,2009 Skymerica Corp. All rights reserved.