나는 자주 사용하는 다른 네트워크에 액세스 할 때 네트워크 설정, 호스트 파일 내용 및 / etc / resolver 파일을 구성하기 위해 일부 자동화 스크립트를 작성하고 있습니다.
모든 호스트 파일을 변경해야 할 수있는 몇 가지 조합이 있으며, 여러 조합의 매트릭스를 설정하지 않고 공유 설정을 복제하는 것을 피하고 싶습니다.
예를 들어, 나는 직장 네트워크 에 있을 수 있습니다 . 건물에서 또는 VPN을 통해 액세스 할 수 있습니다. 두 경우 모두 네트워킹이 제대로 작동하고 일부는 공유되고 일부는 공유되지 않도록 호스트 파일에 일부 설정을 추가해야합니다. 내가 VPN을 통해 해요 경우 또한, 나는이 경우가 호스트에서 다른 설정은 내가 파일, 집에있을 수 도 추가 할.
따라서 "홈, VPN을 통한 작업 액세스"대 "집, 작업에 액세스하지 않음"등에 대해 하나의 파일을 만드는 대신 다른 파일을 포함 할 수있는 방법이있을 것으로 기대했습니다.
예를 들어 다음과 같은 가상 구문이 작동한다고 가정 해 보겠습니다.
#!include home.hosts
#!include work.hosts
127.0.0.1 localhost
::1 localhost
이렇게하면 두 파일의 내용 중 하나 또는 둘 다의 내용을 지우고 나머지는 그대로 둘 수 있습니다.
또는 파일을 새 호스트 파일로 연결하는 작은 스크립트를 작성하고 자동화 설정의 일부로 작은 스크립트를 작성하는 것보다이 방법을 사용하는 것이 더 좋습니다. 그런 다음 스크립트를 호출하여 추가 파일에서 단일 호스트 파일을 다시 작성합니까?
dscl
명령을 알지 못했고 그것에 대해서도 연구해야 할 것입니다.
dscl
하는, /etc/hosts
단순히 사용 가능한 데이터 소스 중 하나입니다 호스트 이름 / IP 주소 매핑 (물론)를 제공합니다. dscl
캐시에 쓰고 플러시 하는 스크립트를 설정 하면 호스트 파일의 여러 사본을 유지하거나 항상 다시 쓰는 것보다 상황에 더 효과적 일 수 있습니다.
dscl
직접 호스트 항목을 수정하는 것과 달리 hosts 파일을 변경해야 합니까?