Назад | Перейти на главную страницу

Как узнать, используется ли haldaemon или udev на сервере RHEL?

Я очень запутался, действительно ли используется hal или просто udev.

То, что я понял:

Я особенно говорю о Redhat 5,6 и 7.

Спасибо.

Немного предыстории: 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 не мог убедить сделать.

Как узнать [], используется ли haldaemon или udev на сервере RHEL?

Просто запустите соответствующую версию RHEL и сделайте что-нибудь вроде:

rpm -qa "*hal*"

(О нет, я только что понял, что вы спрятали несколько вопросов в одном :-()

А daemon hald отличается от HAL. Это сервис, который предоставляет HAL и используется для идентификации устройств, а затем их монтирования (и где они будут находиться в / dev?) Или их автоматической настройки для использования приложениями.

Устройства находятся под /dev но нужно ли мне «монтировать» устройство, зависит от контекста. Я мог бы смонтировать диск (например, под /mnt но есть и другие места, где монтируются вещи), но я не устанавливаю сканер (объявление / поиск сканеров - это то, чем занимался HAL).

И теперь он устарел со стороны udev, которая также делает то же самое, то есть автоматически монтирует устройства, когда они подключены, путем чтения сообщений из ядра и именования в соответствии с предопределенными правилами.

Иногда это делает только udev, иногда подключаются и другие службы. /dev именование устройств находится под udev контроль, да.

И в настоящее время только несколько приложений с графическим интерфейсом, таких как GNOM [E], используют hald для получения уведомлений о вновь подключенных устройствах (а установка по-прежнему выполняется udev?)

Что ж, в современных системах нет hald так что ваш вопрос странный и сложный. Более того, даже в системах, которые это сделали, ответ - «это зависит». да udev может выполнять монтаж, но иногда такие вещи, как подключение USB-камеры через протокол PTP, в значительной степени обрабатываются пользовательским пространством GNOME (хотя я думаю, вы можете спорить обо всем угле FUSE).

Итак, мой вопрос: используется ли hal только для уведомления [sic] приложений на основе графического интерфейса пользователя о вновь подключенном оборудовании, поскольку оно может взаимодействовать через DBUS, но udev не имеет реализации dbus.

Это вопрос? HAL использовался для уведомления приложений с графическим интерфейсом пользователя, но он также мог запускать другие действия (например, настройку правил питания / монтирование дисков) при изменении устройства.

А для автомонтирования устройств это делает только udev и где hal не используется?

Опять же, это совместные усилия. Да, udev правила, чтобы делать много, но в зависимости от контекста могут быть задействованы другие вещи (например, если вам нужно начать запрашивать пользователя), и вот где такие вещи, как udisks начать участвовать.

Я думаю, здесь есть подтекст: почему вы спрашиваете, используется ли HAL? Возможно, вам лучше просто задать этот вопрос напрямую ...

(Эти вопросы, состоящие из нескольких частей, болезненны :-()