
몇 가지 테스트를 수행하기 위해 Raspberry Pi(Stretch)를 WiFi 액세스 포인트로 사용하고 있습니다. 여러 RP에서 하나의 전역 구성 파일을 사용하고 싶기 때문에 이를 hostapd.conf
두 부분으로 나눕니다.
hostapd.conf.global
- 내 WiFi 액세스 포인트의 거의 모든 매개변수를 설명합니다.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
연산자는 |
하나의 명령을 다음 명령에 연결합니다. 이는 다운스트림 명령에만 입력으로 적용됩니다.STDOUT
STDIN
STDIN
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
(따라서 이해하고 처리해야 하는 작업의 규모도 더 큽니다).