Beschreibung
Die Hardware Abstraction Layer (HAL) von Linux implementiert eine kohärente Beschreibung der gesamten Hardware auf einem System, einschließlich Hot-Plug-Geräte wie auf USB (Universal Serial Bus). Es funktioniert durch Zusammenführen von Informationen, die vom Betriebssystem, der physischen Hardware, Gerätetreibern, Subsystemen wie CUPS (Common Unix Printing System) und sogar von Systemadministratoren präsentiert werden. Diese Informationen werden gesammelt und über eine HAL-Programmierschnittstelle Anwendungsprogrammen zur Verfügung gestellt.
Der haldaemon-Dienst ruft den HAL-Daemon auf Prozess hal, um die Kernel-Level-Daten über den Kernel-D-BUS-Kommunikationskanal zu erhalten, um diese Informationen zu sammeln und zu verteilen. Gerätedaten werden in Attributpaaren aus Schlüssel und Wert dargestellt.
Ein Client des HAL-Dienstes ist die fstab-sync(8)-Einrichtung, die automatisch /etc/fstab aktualisiert, wenn Festplattenlaufwerke online gehen. Dies gilt nur für CentOS/RHEL 4. Die Fatab-Sync-Funktion wurde deaktiviert und eine neue Mount-Unterstützung für CentOS/RHEL 5 eingeführt.
Konfiguration
Um den Haldaemon-Dienst für zukünftiges Herunterfahren und Neustarten zu verwalten, verwenden Sie die chkconfig Werkzeug:
# /sbin/chkconfig haldaemon on # /sbin/chkconfig --list haldaemon haldaemon 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Um den Haldaemon-Dienst sofort zu steuern, verwenden Sie das Service-Tool:
# /sbin/servie haldaemon Uage: /etc/init.d/haldaemon {start|stop|status|restart|condrestart}
Starten oder stoppen Sie den Daemon:
# /sbin/service haldaemon start Starting HAL daemon: [ OK ] # /sbin/service haldaemon stop Stopping HAL daemon: [ OK ]
Name des RPM-Pakets:hal
e.g. hal-0.5.8.1-38.el5.i386
Sobald dieser Daemon-Dienst (Haldaemon) ausgeführt wird, ist er verfügbar, um Geräte und ihre Eigenschaften mit dem Dienstprogramm „lshal aufzulisten “. Zum Beispiel:
# 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) ... ...
Der Haldaemon ist minimal konfigurierbar mit der Datei:
/etc/hal/hald.conf
Es ist eine XML-Datei. Zum Beispiel:
<?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>