systemd.network(5) 파일이나 환경에서 가치를 얻으시겠습니까?

systemd.network(5) 파일이나 환경에서 가치를 얻으시겠습니까?

*.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]여러 주소를 구성하려면 여러 " " 부분을 지정하세요 .

관련 정보