Como descobrir se o haldaemon está sendo usado ou o udev no servidor RHEL?

Como descobrir se o haldaemon está sendo usado ou o udev no servidor RHEL?

Estou bastante confuso se hal está realmente em uso ou apenas udev.

O que eu entendi:

  • Em geral, HAL é uma camada de abstração que permite que um sistema operacional interaja com um dispositivo de hardware.

  • E o daemon hald é diferente do HAL. É um serviço que fornece HAL e é utilizado para identificar dispositivos e depois montá-los (e onde estariam, em /dev?) ou configurá-los automaticamente para uso das aplicações.

  • E agora está obsoleto pelo udev, que também faz algo semelhante, ou seja, monta automaticamente os dispositivos conforme eles são conectados, lendo mensagens do kernel e nomeando de acordo com as regras predefinidas.

  • E atualmente apenas alguns aplicativos baseados em GUI, como o GNOMe, usam hald, para receber notificações sobre dispositivos recém-conectados (enquanto a montagem ainda é feita pelo udev?)

    Portanto, minha pergunta é se hal é usado apenas para notificar aplicativos baseados em GUI sobre hardware recém-conectado, pois pode se comunicar através de DBUS, mas o udev não possui implementação de dbus. E para dispositivos de montagem automática, apenas o udev faz isso e não onde o hal é usado?

E estou falando particularmente do Redhat 5,6 e 7.

Obrigado.

Responder1

Alguns antecedentes: udevexiste há muito tempo (desde o kernel 2.5) e (para RHEL) é o que configura os nós do dispositivo quando os drivers anunciam o hardware. Mesmo em sistemas que usavam HAL, ainda havia algo udevpor baixo. udevele próprio pode chamar outros programas quando "identifica" mudanças e o HAL foi uma tentativa de abstrair o anúncio e a configuração de certas peças de novo hardware para sistemas desktop *nix (não apenas Linux, mas também outros como o FreeBSD). Eventualmente, as pessoas eliminaram certas partes do HAL, mas nem todas as partes do HAL foram transportadas udev- algumas delas se dividiram em outros daemons. Por volta de 2012, a maioria das distros Linux de ponta abandonaram o HAL e hoje em dia (início de 2019) os daemons mencionados acima são coisas como udisks, upoweretc.https://en.wikipedia.org/wiki/HAL_(software)...

Considerando que o RHEL é vagamente baseado no Fedora (um mapeamento aproximado pode ser visto emhttps://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#Relationship_with_Fedora) e como sabemos que foiFedora 16 que era livre de HAL:

  • RHEL 5 definitivamente teráhald
  • RHEL 6 provavelmente teráhald
  • O RHEL 7 não possui halde outros daemons terão assumido o controle de coisas que udevnão puderam ser convencidos a fazer.

Como descobrir[] se o haldaemon está sendo usado ou o udev no servidor RHEL?

Basta iniciar a versão apropriada do RHEL e fazer algo como:

rpm -qa "*hal*"

(Ah, não, acabei de perceber que você escondeu várias perguntas em uma :-()

E o daemon hald é diferente do HAL. É um serviço que fornece HAL e é utilizado para identificar dispositivos e depois montá-los (e onde estariam, em /dev?) ou configurá-los automaticamente para uso das aplicações.

Os dispositivos estão desativados /dev, mas se preciso "montar" um dispositivo depende do contexto. Eu poderia montar um disco (por exemplo, abaixo, /mntmas há outros lugares onde as coisas também são montadas), mas não monto um scanner (anunciar/encontrar scanners é algo com que o HAL lidou).

E agora está obsoleto pelo udev, que também faz algo semelhante, ou seja, monta automaticamente os dispositivos conforme eles são conectados, lendo mensagens do kernel e nomeando de acordo com as regras predefinidas.

Às vezes isso é feito apenas pelo udev, às vezes outros serviços também são envolvidos. /deva nomenclatura do dispositivo está sob udevcontrole, sim.

E atualmente apenas alguns aplicativos baseados em GUI, como o GNOM[E], usam hald, para receber notificações sobre dispositivos recém-conectados (enquanto a montagem ainda é feita pelo udev?)

Bem, os sistemas modernos não têm, haldentão sua pergunta é estranha e complicada. Além disso, mesmo em sistemas que o fizeram, a resposta é “depende”. Sim, udevposso fazer a montagem, mas às vezes coisas como conectar uma câmera USB através do protocolo PTP são feitas praticamente pelo espaço do usuário do GNOME (embora eu ache que você possa discutir sobre todo o ângulo do FUSE).

Portanto, minha pergunta é se hal é usado apenas para notificar [sic] aplicativos baseados em GUI sobre hardware recém-conectado, pois ele pode se comunicar por meio de DBUS, mas o udev não possui implementação de dbus.

Isso é uma pergunta? HAL foi usado para notificar aplicativos GUI, mas também pode acionar outras coisas (por exemplo, ajustes nas regras de energia/montagem de discos) após alterações no dispositivo.

E para dispositivos de montagem automática, apenas o udev faz isso e não onde o hal é usado?

Novamente é um esforço conjunto. Sim, existem udevmuitas regras para fazer, mas dependendo do contexto, outras coisas podem estar envolvidas (por exemplo, se você precisar começar a avisar o usuário) e é aí que coisas como udiskscomeçar a se envolver.

Acho que há um subtexto aqui: por que você está perguntando se o HAL é usado? Talvez seja melhor você apenas fazer essa pergunta diretamente ...

(Essas perguntas com várias partes são dolorosas :-()

informação relacionada