Я працюю над деякими сценаріями автоматизації, щоб налаштувати свої мережеві параметри, вміст файлів хостів та / 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
безпосередньо?