Sto lavorando ad alcuni script di automazione per configurare le impostazioni della mia rete, i contenuti dei file host e i file / etc / resolver, quando accedo a reti diverse tra cui frequento.
Esistono alcune combinazioni che possono richiedere modifiche al file hosts e vorrei evitare di dover impostare una matrice di combinazioni diverse, duplicando le impostazioni condivise ovunque.
Ad esempio, potrei essere sulla rete di lavoro, ad es. nell'edificio, oppure potrei accedervi tramite VPN. In entrambi i casi, devo aggiungere alcune impostazioni al file hosts affinché la rete funzioni correttamente, alcune sono condivise, altre no. Inoltre, se sono più di VPN, posso essere a casa, nel qual caso ci sono alcune altre impostazioni nei file hosts ho anche voglia di aggiungere.
In quanto tale, speravo che invece di creare un file per "casa, accedere al lavoro tramite VPN" rispetto a "casa, non accedere al lavoro", ecc., C'è un modo per me di includere altri file?
Ad esempio, supponiamo che la seguente sintassi funziona:
#!include home.hosts
#!include work.hosts
127.0.0.1 localhost
::1 localhost
In questo modo, potrei semplicemente cancellare il contenuto di uno, o entrambi, di quei due file extra e lasciare il resto.
Oppure, a parte questo, c'è un modo migliore per farlo che creare un piccolo script che concatena file come quelli in un nuovo file host e, come parte della mia configurazione di automazione, desidero prima cancellare alcuni di quei file extra, e quindi invoco lo script per ricostruire il singolo file hosts da quei file extra?
dscl
comando, dovrò fare ricerche anche su quello.
dscl
, per i quali /etc/hosts
è semplicemente una delle fonti di dati disponibili, fornendo (ovviamente) mappature nome host / indirizzo IP. L'impostazione di uno script che scrive dscl
e svuota la cache potrebbe funzionare meglio nella tua situazione rispetto a conservare più copie del file hosts o riscriverlo continuamente.
dscl
direttamente le voci dell'host ?