#navi(FAQ-4.2) カテゴリー: システム管理

見慣れないサービスが入っています (UDEV・D-Bus・HAL・howlとは?)

2006-05-25 (木) 16:33:59投稿
登録者: jado

Plamo-4.2では、システムのUDEV化に伴って、GNOMEでのプラグ&プレイ機能が強化されています。 このため、これをサポートするためのサービスがいくつか追加されています。

Plamo-4.2 標準の HAL は、HotPlug イベントをうまく受け取れないという不具合が報告されています。 Plamo-4.21では修正されていますが、Plamo-4.2をお使いの方は、以下をお試しください。

# for udev
above sd_mod sr_mod sg
# depmod -a
# generate-modprobe.conf > /etc/modprobe.conf

UDEV(udevd)

カーネルのHotPlug機能と連携して、デバイスノードを動的に生成する仕掛けです。 ただし、Plamo-4.2で標準のHotPlugエージェントであるmurasakiとは、独立して動作します(つまり、HotPlugによるモジュールの挿抜機能等を無効にしても、UDEVは動作します)。 ここで挙げたサービスのうち、これのみは Plamo-4.2 において必須の機能です。

設定は、/etc/udev 以下にあります。 ほとんどは、HotPlugイベントで指示されたデバイス名と、実際のデバイスファイルとの関係や、これらのパーミッション等の定義です。

システムの状態が変化してHotPlugイベントが起きると、カーネルは HotPlug イベントを発生させ、udevdがこれを直接受け取ります(※)。 murasaki等の、他のHotPlugエージェントが使われている場合は、udevd がこれらにイベントを渡す仕掛けになっています。

※備考

Fedora4等の古いUDEVシステムでは、標準のHotPlugエージェントと並行して動作するudev用HotPlugエージェントを用いて情報が渡っていました。

現在は、HotPlugイベント処理のUDEVへの一元化が進んでいる段階です。一部の先進的なディストリビューションの中には、従来のHotPlugエージェントを廃止し、全てのルールを UDEV の設定ファイルに記述することで HotPlug イベントを取り扱おうとしているものも出始めています。

udevd が従来の HotPlug エージェントを呼び出しているのは、UDEV への一元化が完了するまでの過渡的な措置であるともいえます。

HAL(hald)

Hardware Abstraction Layer の略で、システムの情報を一元管理する仕組みです。 haldというデーモンが常駐し、ハードウェア構成やシステムの状態を管理しています。

USBデバイスの挿抜等でハードウェアの状態が変化した場合、カーネルが発生する HotPlug イベントと、UDEVのデバイスノード情報を、udevd から受け取ることで、hald はその変化を検出し、適切な支援を行ないます。 例えば、ストレージデバイスを接続した場合、/media 以下にマウントポイントが作られ、/etc/fstab に登録されますが、これは HAL のデフォルト動作として定義されているものです。

UDEVとHALがどのように連携しているのか、実際の設定がどうなっているのかに興味がある方は、

を参照してください。

設定は、/usr/share/hal/fdi および /usr/etc/hal/fdi にあります。 ユーザが設定を追加する場合は、/usr/etc 以下に置くことが想定されています。 設定ファイルは XMLベースでやや難解ですが、/usr/share/doc/hal-*/spec 以下のマニュアルにヒントがあります。

GNOMEは、hald から情報を受け取ることで、プラグ&プレイ機能を実現しています。 Afterstep環境等で、この機能が不要な場合は、HALを起動しないようにするか、パッケージ自体を削除するかして、HALを無効化してもかまいません。

HALを起動しないようにする場合は、

# chmod a-x /etc/rc.d/init.d/hal

としてください。

D-Bus(dbus-daemon)

いわゆるメッセージバスと呼ばれるサービスです。 hald がプロセス間通信の手段として使用しますので、HAL を用いる場合には必須です。 GNOMEの一部機能でも使われている場合がありますが、Plamo版のパッケージでは今のところ使用していませんので、純粋に HAL のみが依存すると考えていただいて構いません。

設定は /usr/etc/dbus-1 以下にありますが、ユーザがここを触ることはまずありません。

HALを使わない場合は、HALと同様に止めたり削除したりしても大丈夫です。

D-Busを起動しないようにする場合は、

# chmod a-x /etc/rc.d/init.d/dbus

としてください。

howl(mDNSResponder・nifd)

Apple の MacOS で利用できる Rendezvous と互換性のある、mDNS(マルチキャストDNS)ディスカバリサービスと、IP自動設定機能を提供するものです。 Plamoでは、前者の mDNSディスカバリサービスのみが利用できます。 mDNSResponderが主デーモンで、nifdは、ネットワークインターフェースの状態変化を監視してmDNSResponderに知らせる機能を持っています。

設定は、/etc/howl/mDNSResponder.conf です。 自ホストが外部(LAN内)に提供しているサービスをこのファイルに登録して、mDNSResponder を起動しておくと、mDNSディスカバリの問い合わせに対して提供サービスを返答します。 デフォルトでは、FTPサービスの情報のみを返答するように設定しています。

GNOMEの「ネットワーク・サーバ」ウインドウでは、mDNSディスカバリメッセージに返答したホストのサービスを表示するしかけになっています(これ自体は Samba ネットワークにも対応していますが、Plamo版では有効になっていません)。

howlの機能は、上記3つおよびGNOMEとは完全に独立していますので、不要であれば止めてもまったく影響はありません。 ただし、クライアントライブラリをGNOMEがリンクしていますので、GNOMEをインストールしている場合、使わない場合でもパッケージの削除はしないでください。

howlを起動しないようにする場合は、

# chmod a-x /etc/rc.d/init.d/howl

としてください。


この件に関して追加情報などありましたら、以下にどうぞ;




トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:40