Utilizo para alguns testes Raspberry Pis (Stretch) funcionando como pontos de acesso WiFi. Como quero trabalhar com um arquivo de configuração global em muitos RPis, divido hostapd.conf
em 2 partes:
hostapd.conf.global
- que descreve quase todos os parâmetros do meu ponto de acesso wi-fi.hostpad.conf.local
- onde SSID para RPi particular é salvo.
É possível juntar esses 2 arquivos de configuração e enviá-los como um para hostapd?
O que eu tentei, é enviar:
cat hostapd.conf.global hostapd.conf.local | hostapd -dd
(comando de pipeline)
mas, como resultado, recebo ajuda para hostapd.
eu tentei também
cat hostapd.conf.global hostapd.conf.local > hostapd.conf && sudo hostapd -dd hostapd.conf
e isso funciona, mas o comando pipeline não é equivalente a isso?
Meu entendimento de pipelining está totalmente errado?
O
|
operador conecta oSTDOUT
de um comando aoSTDIN
do próximo comando. Isso funcionará apenas com comandos downstream que são usadosSTDIN
como entrada.hostapd
não parece ter um parâmetro para isso (muitos comandos permitem que você forneça-
um nome de arquivo para indicar que deseja ler deSTDIN
). Assim, você não pode canalizar a configuração para ele porque não sabe como consumir isso.Você poderia tentar:
e veja se isso funciona.
Isso é importante
hostapd
para usar/dev/stdin
como arquivo de configuração ... já que você canalizou seus arquivos de configuração paraSTDIN
, isso deve ter o efeito desejado.Outra opção é usar algum tipo de gerenciamento de configuração; isso pode ser tão simples quanto um
Makefile
e então você digita
make hostapd.conf
nesse diretório antes de executarhostapd
. No lado mais complicado das coisas, há o Ansible e outros softwares semelhantes que escalam para um número maior de hosts, talvez melhor do que umMakefile
(com uma escala correspondentemente maior de coisas que você precisa aprender e lidar).