É possível canalizar o arquivo de configuração para hostapd?

1

Eu uso para alguns testes Raspberry Pis (Stretch) funcionando como pontos de acesso WiFi. Porque eu quero trabalhar com um arquivo de configuração global em muitos RPIs eu divido hostapd.conf em 2 partes:

  1. hostapd.conf.global - que descreve quase todos os parâmetros do meu ponto de acesso Wi-Fi.
  2. hostpad.conf.local - onde o SSID para determinado RPi é salvo.

É possível juntar esses dois arquivos de configuração e enviá-lo como um para o hostapd?
O que eu tentei é enviar:

cat hostapd.conf.global hostapd.conf.local | hostapd -dd (comando de pipeline)

mas como resultado eu recebo então ajuda para hostapd.

Eu também tentei

cat hostapd.conf.global hostapd.conf.local > hostapd.conf && sudo hostapd -dd hostapd.conf

e isso funciona, mas não é o comando pipeline equivalente a isso?
Meu entendimento de pipelining é totalmente errado?

    
por biechu 19.12.2017 / 19:01

2 respostas

2

O operador | conecta o comando STDOUT de um comando ao STDIN do próximo comando. Isso só funcionará com comandos downstream que usam STDIN como entrada.

hostapd não parece ter um parâmetro para isso (muitos comandos permitem que você forneça - como um nome de arquivo para indicar que você deseja ler STDIN ). Assim, você não pode canalizar a configuração para ela porque não sabe como consumir isso.

Você pode tentar:

cat hostapd.conf.global hostapd.conf.local | hostapd -dd /dev/stdin

e veja se isso funciona.

Isso está dizendo hostapd para usar /dev/stdin como seu arquivo de configuração ... já que você canalizou seus arquivos de configuração para STDIN , isso deve ter o efeito desejado.

    
por 19.12.2017 / 19:29
1

Outra opção é usar algum tipo de gerenciamento de configuração; isso pode ser tão simples quanto um Makefile

hostapd.conf: hostapd.conf.global hostapd.conf.local
        @cat hostapd.conf.global hostapd.conf.local > hostapd.conf

e, em seguida, você digita make hostapd.conf nesse diretório antes de executar hostapd . No lado mais complicado das coisas, há o Ansible e outros softwares que aumentam para um número maior de hosts, talvez melhor do que o Makefile (com uma escala correspondentemente maior de coisas que você precisa aprender e lidar).

    
por 19.12.2017 / 19:41