Ich arbeite an einigen Automatisierungsskripten, um meine Netzwerkeinstellungen zu konfigurieren, Dateiinhalte zu hosten und / etc / resolver-Dateien, wenn ich auf verschiedene Netzwerke zugreife, zwischen denen ich häufig bin.
Es können einige Kombinationen auftreten, die alle Änderungen an der Hosts-Datei erfordern, und ich möchte vermeiden, dass Sie eine Matrix aus verschiedenen Kombinationen einrichten müssen, um die gemeinsam genutzten Einstellungen überall zu duplizieren.
Zum Beispiel kann ich sein , auf dem Firmennetzwerk, das heißt. im Gebäude, oder ich kann über VPN darauf zugreifen. In beiden Fällen muss ich der Hosts-Datei einige Einstellungen hinzufügen, damit das Netzwerk ordnungsgemäß funktioniert. Einige werden freigegeben, andere nicht. Wenn ich über VPN bin, bin ich möglicherweise zu Hause. In diesem Fall enthält die Hosts-Datei einige andere Einstellungen, die ich ebenfalls hinzufügen möchte.
Daher hatte ich gehofft, dass ich anstelle einer Datei für "Zuhause, Zugriff auf Arbeit über VPN" im Vergleich zu "Zuhause, kein Zugriff auf Arbeit" usw. eine Möglichkeit habe, andere Dateien einzuschließen?
Nehmen wir zum Beispiel an, die folgende hypothetische Syntax funktioniert:
#!include home.hosts
#!include work.hosts
127.0.0.1 localhost
::1 localhost
Auf diese Weise könnte ich einfach den Inhalt einer oder beider dieser beiden zusätzlichen Dateien löschen und den Rest belassen.
Abgesehen davon gibt es eine bessere Möglichkeit, dies zu tun, als nur ein kleines Skript zu erstellen, das Dateien wie diese in eine neue Hosts-Datei verkettet. Im Rahmen meiner Automatisierungskonfiguration lösche ich zunächst einige dieser zusätzlichen Dateien. und dann rufe ich das Skript auf, um die einzelne Hosts-Datei aus diesen zusätzlichen Dateien neu zu erstellen?
dscl
Befehls nicht bewusst , ich werde auch darüber recherchieren müssen.
dscl
, für die /etc/hosts
nur eine der verfügbaren Datenquellen ist, die Bereitstellung (natürlich) Hostname / IP - Adresszuordnungen. Das Einrichten eines Skripts, das in dscl
den Cache schreibt und diesen leert, funktioniert in Ihrer Situation möglicherweise besser, als mehrere Kopien der Hosts-Datei zu behalten oder sie ständig neu zu schreiben.
dscl
direkt über zu ändern ?