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

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

Что я понял:

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

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

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

Спасибо.

0
задан 8 March 2018 в 13:07
1 ответ

Немного предыстории: 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_ (программное обеспечение) ...

Итак, учитывая, что 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? Возможно, вам лучше просто задать этот вопрос напрямую ...

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

2
ответ дан 4 December 2019 в 13:27

Теги

Похожие вопросы