como obter hal executando no servidor Ubuntu?

1

Eu quero tentar criar uma instalação de servidor muito minimizada que monta automaticamente seus discos SATA internos. Assim, pensei em usar o HAL como o caminho a percorrer. Até onde eu li, o HAL é apenas um daemon 'escutando' mudanças de hardware e transmite as mudanças se elas corresponderem a um arquivo de configuração .fdi via dbus para seus clientes.

Qual cliente posso usar em uma instalação de servidor? Eu li sobre gnome-volume-manager como uma possibilidade, mas como eu vejo, ele quer abrir uma exibição gráfica, que eu não preciso de uma instalação de servidor (mesmo que seja apenas uma exibição de software).

Alguma dica para direção adicional ou há algum cliente dbus alternativo que seja capaz de executar eventos HAL?

Eu consegui trabalhar, mas sem hal / devicekit / gnome. Estou usando regras básicas do udev e comandos RUN para montar os discos

# /etc/udev/rules.d/local.rules
# /etc/udev/rules.d/89-local.rules
# ADD rule: if we have a valid ID_FS_USAGE, and it's a filesystem with a UUID, mkdir and mount

ENV{ID_FS_USAGE}=="filesystem", ENV{ID_FS_UUID_ENC}=="?*", ACTION=="add", RUN="/bin/mkdir -p /media/$env{ID_FS_UUID_ENC}" RUN+="/bin/mount -t auto /dev/%k /media/$env{ID_FS_UUID_ENC}" RUN+="/media/$env{ID_FS_UUID_ENC}/autostart.sh"

No Ubuntu, coloque isso no arquivo /lib/udev/rules.d/89-local.rules . No Debian, deve estar em /etc/udev/rules.d . Também adicionei a possibilidade de executar um script autostart.sh durante a inicialização, por exemplo, para iniciar serviços disponíveis apenas em discos específicos

Montar automaticamente externo drives para / media / LABEL na inicialização sem um usuário logado? tinha a resposta

    
por John Doe 20.01.2010 / 19:33

2 respostas

1

HAL é uma comunicação & message passing layer - Eu não tenho certeza de onde o DBus para e o HAL é iniciado. É usado principalmente como uma camada entre o DBus e o Ambiente de Área de Trabalho, mas não possui nenhum componente de GUI que exija que o DE opere.

Para uma instalação sem servidor, você deve usar o HALevt. O HALevt é um daemon que fica no topo do HAL, da mesma forma que o Gnome-VFS faz no Gnome DE, e responde a eventos de hardware. Ele pode ser configurado para ser executado como um daemon do sistema ou como um usuário individual. Consulte um resposta Escrevi para uma pergunta anterior sobre como usar o HALevt para fornecer Gnome-VFS-como a montagem automática de CDs e drives USB em um servidor sem cabeçalho. Isso deve fornecer instruções básicas, embora sua situação provavelmente requeira alguns ajustes.

a resposta do whitequark - configurando seu montagens normais via / etc / fstab - é melhor se as unidades internas do seu sistema não forem configuradas para hotswapping. Usar o HALevt para montar discos internos estáticos é factível, mas mais complicado do que precisa ser. Mas se você tem baias hotswap e quer usá-las, usar o HALevt para automontagem pode ser uma boa opção para você.

    
por 20.01.2010 / 21:09
0

As unidades SATA internas não podem ser hotplugged , ou seja, conectadas enquanto o servidor está ligado. Então tudo o que você precisa fazer é montá-los na energização. Para este propósito você precisa apenas colocá-los em / etc / fstab:

  1. Método universal que funciona para todos os sistemas de arquivos:
    Adicione uma linha como /dev/sdXN /path/to/mountpoint auto defaults 0 2 em que / dev / sdXN é o pseudo arquivo do seu dispositivo.
  2. Método específico de Ext2 / Ext3:
    Primeiro, determine o nome do arquivo do seu dispositivo no sistema em execução. Segundo, obtenha seu UUID executando tune2fs -l /dev/sdXN | grep UUID na raiz, naturalmente substituindo sdXN pelo seu dispositivo novamente. Depois você pode adicionar uma linha ao fstab como eu fiz no parágrafo anterior, mas substituindo o primeiro valor ( /dev/sdXN ) por ( UUID=fa62e245-04bd-4cb2-a17f-5c7ee19e3574 ). Claro que você precisa substituir o meu UUID pelo seu. Esse método tem uma vantagem que, se você adicionar ou remover drives SATA adicionais, os pontos de montagem não serão afetados pelo kernel do pedido detectar esses dispositivos.

O HAL também não é necessário em nenhum servidor; é um utilitário puramente de desktop que é necessário para permitir que usuários sem privilégios realizem algumas operações privilegiadas e somente através do D-Bus. Você provavelmente deseja usar utilitários de console que sejam muito mais adequados para o ambiente de servidor.

    
por 20.01.2010 / 19:53

Tags