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

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

Я совершенно не понимаю, используется ли на самом деле hal или только udev.

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

  • В общем случае HAL — это уровень абстракции, позволяющий операционной системе взаимодействовать с аппаратным устройством.

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

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

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

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

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

Спасибо.

решение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#Связь_с_Fedora) и учитывая, что мы знаем, что это былоFedora 16 без HAL:

  • RHEL 5 определенно будет иметьhald
  • RHEL 6, скорее всего, будет иметьhald
  • В RHEL 7 этого нет, haldи другие демоны возьмут на себя те функции, которые udevневозможно убедить сделать.

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

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

rpm -qa "*hal*"

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

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

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

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

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

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

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

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

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

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

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

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

(Эти многосоставные вопросы болезненны :-( )

Связанный контент