AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 900615
Accepted
GP92
GP92
Asked: 2018-03-09 02:54:28 +0800 CST2018-03-09 02:54:28 +0800 CST 2018-03-09 02:54:28 +0800 CST

如何确定 RHEL 服务器中是否正在使用 haldaemon 或 udev?

  • 772

如果 hal 真的在使用还是只是 udev,我很困惑。

我的理解:

  • 一般来说,HAL 是一个抽象层,它允许操作系统与硬件设备进行交互。

  • daemon hald 与 HAL 不同。它是一种提供 HAL 的服务,用于识别设备,然后安装它们(以及它们将在哪里,在 /dev 下?)或自动配置它们以供应用程序使用。

  • 它现在被 udev 弃用,它也做了类似的事情,即通过读取来自内核的消息并根据预定义的规则命名来自动挂载连接的设备。

  • 目前只有少数基于 GUI 的应用程序,如 GNOMe 使用暂停,以获取有关新连接设备的通知(而安装仍然由 udev 负责?)

    所以我的问题是,如果 hal 仅用于通知基于 GUI 的应用程序有关新连接的硬件,因为它可以通过 DBUS 进行通信,但 udev 没有 dbus 实现。而对于自动挂载设备,只有 udev 这样做,而没有使用 hal?

我特别在谈论 Redhat 5,6 和 7。

谢谢。

rhel6
  • 1 1 个回答
  • 670 Views

1 个回答

  • Voted
  1. Best Answer
    Anon
    2019-01-14T22:42:12+08:002019-01-14T22:42:12+08:00

    一些背景:udev已经存在了很长时间(从 2.5 内核开始)和(对于 RHEL)它是在驱动程序宣布硬件时设置设备节点的东西。即使在使用 HAL 的系统上,仍然存在udev。udev当它“发现”变化时,它本身可以调用其他程序,而 HAL 试图抽象出桌面 *nix 系统(不仅是 Linux,还有其他像 FreeBSD 等)的某些新硬件的公告和配置。最终,人们取消了某些 HAL 部分,但并非所有 HAL 部分都可以移动到udev其中——其中一些分裂为其他守护进程。到 2012 年左右,大多数最前沿的 Linux 发行版都放弃了 HAL,而现在(2019 年初)上述守护进程是这样​​的udisks,upower等等。在https://en.wikipedia.org/wiki/HAL_(software)上有一个很好的总结......

    因此,鉴于 RHEL 松散地基于 Fedora(可以在https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#Relationship_with_Fedora上看到粗略的映射),并且我们知道Fedora 16 是无 HAL 的:

    • RHEL 5 肯定会有hald
    • RHEL 6 可能会有hald
    • RHEL 7 没有hald,其他守护进程将接管udev无法说服的事情。

    如果在 RHEL 服务器中使用 haldaemon 或 udev,如何查找 []out?

    只需启动适当版本的 RHEL 并执行以下操作:

    rpm -qa "*hal*"
    

    (哦,不,我刚刚意识到您在一个中隐藏了多个问题:-()

    daemon hald 与 HAL 不同。它是一种提供 HAL 的服务,用于识别设备,然后安装它们(以及它们将在哪里,在 /dev 下?)或自动配置它们以供应用程序使用。

    设备在/dev但我是否需要“挂载”设备取决于上下文。我可能会安装一个磁盘(例如,在下面,/mnt但还有其他地方也安装了东西)但我不安装扫描仪(宣布/查找扫描仪是 HAL 处理的事情)。

    它现在被 udev 弃用,它也做了类似的事情,即通过读取来自内核的消息并根据预定义的规则命名来自动挂载连接的设备。

    有时它仅由 完成udev,有时其他服务也参与其中。/dev设备命名udev受控,是的。

    目前只有少数基于 GUI 的应用程序,如 GNOM[E] 使用暂停,以获取有关新连接设备的通知(而安装仍然由 udev 负责?)

    好吧,现代系统没有,hald所以您的问题既奇怪又复杂。此外,即使在这样做的系统上,答案也是“视情况而定”。是udev的,可以进行安装,但有时诸如通过 PTP 协议连接 USB 摄像头之类的事情几乎由 GNOME 用户空间处理(尽管我猜你可以争论整个 FUSE 角度)。

    所以我的问题是,如果 hal 仅用于通知基于 GUI 的应用程序有关新连接的硬件,因为它可以通过 DBUS 进行通信,但 udev 没有 dbus 实现。

    这是一个问题吗?HAL 用于通知 GUI 应用程序,但它也可以在设备更改时触发其他事情(例如调整电源规则/安装磁盘)。

    而对于自动挂载设备,只有 udev 这样做,而没有使用 hal?

    再次是共同努力。是的,udev规则要做很多,但根据上下文可能会涉及其他事情(例如,如果您需要开始提示用户),这就是udisks开始涉及的事情。

    我想这里有一个潜台词:你为什么要问是否使用了 HAL?你最好直接问这个问题......

    (这些多部分的问题很痛苦:-()

    • 2

相关问题

  • 在给定时间段之间记录和重放 HTTP 请求/帖子 (Apache)

  • 使用 yum 安装 PostgreSQL 时出现错误 14

  • 基于当前目录的通配符

  • yum-cron 邮件进入根目录而不是指定用户

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve