구성 파일을 Hostapd로 파이프할 수 있습니까?

구성 파일을 Hostapd로 파이프할 수 있습니까?

몇 가지 테스트를 수행하기 위해 Raspberry Pi(Stretch)를 WiFi 액세스 포인트로 사용하고 있습니다. 여러 RP에서 하나의 전역 구성 파일을 사용하고 싶기 때문에 이를 hostapd.conf두 부분으로 나눕니다.

  1. hostapd.conf.global- 내 WiFi 액세스 포인트의 거의 모든 매개변수를 설명합니다.
  2. hostpad.conf.local- 특정 RPi의 SSID를 저장하는 위치입니다.

이 2개의 구성 파일을 결합하여 하나의 파일로 Hostapd에 보낼 수 있습니까?
내가 시도한 것은 다음과 같습니다.

cat hostapd.conf.global hostapd.conf.local | hostapd -dd (파이프 명령)

그런데 알고보니 Hostapd의 도움을 받았어요.

나도 시도했다

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

이것은 작동하지만 그렇지 않습니다.파이프 명령이것과 동등합니까?
파이프를 완전히 잘못 이해하고 있습니까?

답변1

연산자는 |하나의 명령을 다음 명령에 연결합니다. 이는 다운스트림 명령에만 입력으로 적용됩니다.STDOUTSTDINSTDIN

hostapd이에 대한 매개변수는 없는 것 같습니다(많은 명령을 사용하면 -에서 읽으려는 파일 이름을 제공할 수 있습니다 STDIN). 따라서 사용 방법을 모르기 때문에 구성을 파이프로 연결할 수 없습니다.

당신은 시도 할 수 있습니다:

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

작동하는지 확인하세요.

이는 구성 파일 hostapd로 사용됨을 나타냅니다 /dev/stdin. 구성 파일을 에 파이프했기 때문에 STDIN원하는 효과가 나타납니다.

답변2

또 다른 옵션은 일종의 구성 관리를 사용하는 것입니다. 이는 다음과 같이 간단할 수 있습니다.Makefile

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

그런 다음 make hostapd.conf실행하기 전에 해당 디렉토리를 입력하십시오 hostapd. 보다 정교한 측면에서 Ansible 및 기타 소프트웨어는 더 많은 수의 호스트로 확장할 수 있으며 이는 아마도 Ansible보다 더 나을 것입니다 Makefile(따라서 이해하고 처리해야 하는 작업의 규모도 더 큽니다).

관련 정보