説明
Linux ハードウェア アブストラクション レイヤー (HAL) USB (Universal Serial Bus) などのホットプラグ デバイスを含む、システム上のすべてのハードウェアの一貫した記述を実装します。オペレーティング システム、物理ハードウェア、デバイス ドライバ、CUPS (Common Unix Printing System) などのサブシステム、さらにはシステム管理者から提供された情報を統合することによって機能します。この情報は照合され、HAL プログラミング インターフェイスを介してアプリケーション プログラムで利用できるようになります。
haldaemon サービスが HAL デーモンを呼び出します プロセスは、カーネル D-BUS 通信チャネルを介してカーネルレベルのデータを取得し、この情報を収集して配布する必要がありました。デバイス データは、キーと値の属性ペアで表示されます。
HAL サービスのクライアントの 1 つは、ディスク ドライブがオンラインになるのに応答して /etc/fstab を自動的に更新する fstab-sync(8) 機能です。これは CentOS/RHEL 4 にのみ適用されます。fatab-sync 機能が無効になり、CentOS/RHEL 5 での新しいマウント サポートが導入されました。
構成
将来のシャットダウンと再起動のために haldaemon サービスを管理するには、chkconfig を使用します。 ツール:
# /sbin/chkconfig haldaemon on # /sbin/chkconfig --list haldaemon haldaemon 0:off 1:off 2:on 3:on 4:on 5:on 6:off
haldaemon サービスをすぐに制御するには、サービス ツールを使用します。
# /sbin/servie haldaemon Uage: /etc/init.d/haldaemon {start|stop|status|restart|condrestart}
デーモンを開始または停止します:
# /sbin/service haldaemon start Starting HAL daemon: [ OK ] # /sbin/service haldaemon stop Stopping HAL daemon: [ OK ]
RPM パッケージ名:hal
e.g. hal-0.5.8.1-38.el5.i386
このデーモン サービス (haldaemon) が実行されると、ユーティリティ「lshal」を使用してデバイスとそのプロパティを一覧表示できます。 」。例:
# lshal Dumping 49 device(s) from the Global Device List: ------------------------------------------------- udi = '/org/freedesktop/Hal/devices/pci_8086_2770' info.parent = '/org/freedesktop/Hal/devices/computer' (string) info.udi = '/org/freedesktop/Hal/devices/pci_8086_2770' (string) pci.device_protocol = 0 (0x0) (int) pci.device_subclass = 0 (0x0) (int) pci.device_class = 6 (0x6) (int) info.vendor = 'Intel Corporation' (string) info.product = '82945G/GZ/P/PL Memory Controller Hub' (string) pci.subsys_vendor = 'Dell' (string) pci.product = '82945G/GZ/P/PL Memory Controller Hub' (string) pci.vendor = 'Intel Corporation' (string) pci.subsys_product_id = 429 (0x1ad) (int) pci.subsys_vendor_id = 4136 (0x1028) (int) pci.product_id = 10096 (0x2770) (int) pci.vendor_id = 32902 (0x8086) (int) pci.linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:00.0' (string) linux.sysfs_path_device = '/sys/devices/pci0000:00/0000:00:00.0' (string) linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:00.0' (string) info.bus = 'pci' (string) ... ...
haldaemon は、次のファイルを使用して最小限の構成が可能です:
/etc/hal/hald.conf
XMLファイルです。例:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- --> <!-- This configuration file controls the Hardware Abstraction Layer daemon - it is meant that OS vendors customize this file to reflect their desired policy. --> <haldconfig> <!-- If true, then the device list is saved to disk such that properties are kept between invocations of hald. --> <persistent_device_list>false</persistent_device_list> <!-- Default value for storage.media_check_enabled for devices of capability storage - this can be overridden by .fdi files. Setting this to false results a whitelist policy, e.g. media check is only enabled for storage devices with a .fdi file saying so. Conversely, setting it to true results in a blacklist policy where media check is enabled by default but may be overridden by a .fdi for devices causing trouble. --> <storage_media_check_enabled>true</storage_media_check_enabled> <!-- Default value for storage.automount_enabled_hint for devices of capability storage - this can be overridden by .fdi files. Setting this to false results a whitelist policy, e.g. policy agents should only automount storage devices with a .fdi file saying so. Conversely, setting it to true results in a blacklist policy where policy agents should always automount unless this is explicitly overridden by .fdi for devices causing trouble. --> <storage_automount_enabled_hint>true</storage_automount_enabled_hint> </haldconfig>