*.service
단위 지원 Environment=key=val
및 항목을 알고 있지만 EnvironmentFile=fname
문서에서는 *.network
이를 지원하지 않는 것 같습니다.
Address
다른 파일이나 환경 변수에서 특정 값을 가져오는 다른 방법이 있나요?
예를 들어 결과는 다음과 같습니다.
# /etc/some/conf
192.0.2.3
# some.network
[Match]
Name=some
[Network]
# (! invalid !) example of desired effect
Address=$(cat /etc/some/conf)
답변1
Systemd-networkd는 외부 파일에서 데이터 로드를 지원하지 않습니다(적어도 2020년 2월 systemd 244까지). 따라서 최선의 방법은 .service
어떤 방식으로든 키를 동기화하는 파일을 작성하고 이를 추가 RequiredBy=systemd-networkd.service
하고 Before=systemd-networkd.service
확인하는 것입니다. 적절한 시간.
답변2
~에서systemd.netman:
이러한 파일은 시스템 네트워크 디렉토리, 휘발성 런타임 네트워크 디렉토리 및 로컬 관리 네트워크 디렉토리에 있는
.network
파일에서 읽혀 집니다. 모든 구성 파일은 해당 파일이 위치한 디렉터리에 관계없이 어휘 순서에 따라 중앙에서 정렬되고 처리됩니다. 그러나 동일한 파일 이름을 가진 파일은 서로 교체됩니다. 의 파일이 가장 높은 우선순위를 가지며, 의 파일이 의 같은 이름을 가진 파일보다 우선합니다. 원하는 경우 시스템 제공 구성 파일을 로컬 파일로 재정의하는 데 사용할 수 있습니다. 특별한 경우로, 빈 파일(파일 크기 0) 또는 동일한 이름의 심볼릭 링크는 완전히 비활성화된 프로필("마스크됨")을 가리킵니다./usr/lib/systemd/network
/usr/local/lib/systemd/network
/run/systemd/network
/etc/systemd/network
/etc
/run
/usr
/dev/null
[...]
"
[Address]
" 섹션에서는 다음 키를 허용합니다.[Address]
여러 주소를 구성하려면 여러 " " 부분을 지정하세요 .