Я очень запутался, действительно ли используется hal или просто udev.
То, что я понял:
В общем, HAL - это уровень абстракции, который позволяет операционной системе взаимодействовать с аппаратным устройством.
А daemon hald отличается от HAL. Это сервис, который предоставляет HAL и используется для идентификации устройств, а затем их монтирования (и где они будут находиться в / dev?) Или их автоматической настройки для использования приложениями.
И теперь он устарел со стороны udev, которая также делает то же самое, то есть автоматически монтирует устройства, когда они подключены, путем чтения сообщений из ядра и именования в соответствии с предопределенными правилами.
И в настоящее время только несколько приложений на основе графического интерфейса, таких как GNOMe, используют hald для получения уведомлений о вновь подключенных устройствах (а установка все еще выполняется udev?)
Итак, мой вопрос: используется ли hal только для уведомления приложений на основе графического интерфейса пользователя о вновь подключенном оборудовании, поскольку оно может взаимодействовать через DBUS, но udev не имеет реализации dbus. А для автомонтирования устройств это делает только udev и где hal не используется?
Я особенно говорю о 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:
hald
hald
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? Возможно, вам лучше просто задать этот вопрос напрямую ...
(Эти вопросы, состоящие из нескольких частей, болезненны :-()