मैं अपने नेटवर्क सेटिंग्स को कॉन्फ़िगर करने के लिए कुछ स्वचालन लिपियों पर काम कर रहा हूं, फ़ाइल सामग्री और / / / रिज़ॉल्वर फ़ाइलों को होस्ट करता हूं, जब मैं विभिन्न नेटवर्क तक पहुंचता हूं, जिनके बीच मैं अक्सर होता हूं।
कुछ संयोजन हैं जो हो सकते हैं कि सभी को होस्ट फ़ाइल में परिवर्तन की आवश्यकता होती है, और मैं विभिन्न संयोजनों के मैट्रिक्स को सेट करने से बचना चाहूंगा, सभी जगह साझा सेटिंग्स को दोहराता हूं।
उदाहरण के लिए, मैं कार्य नेटवर्क पर हो सकता हूं , अर्थात। भवन में, या मैं इसे वीपीएन पर एक्सेस कर सकता हूं। दोनों ही मामलों में, मुझे ठीक से काम करने के लिए नेटवर्किंग के लिए मेजबानों फ़ाइल में कुछ सेटिंग्स जोड़ने की आवश्यकता है, कुछ साझा किए गए हैं, कुछ नहीं हैं। इसके अतिरिक्त, अगर मैं वीपीएन से अधिक हूं, तो मैं घर पर हो सकता हूं, इस मामले में मेजबानों की फाइल में कुछ अन्य सेटिंग्स हैं जिन्हें मैं भी जोड़ना चाहता हूं ।
जैसे, मैं उम्मीद कर रहा था कि "घर के लिए एक फ़ाइल बनाने के बजाय, वीपीएन पर काम करना" बनाम "घर, काम नहीं करना", आदि, क्या मेरे लिए अन्य फ़ाइलों को शामिल करने का एक तरीका है?
उदाहरण के लिए, मान लें कि निम्नलिखित काल्पनिक वाक्य रचनाएँ काम करती हैं:
#!include home.hosts
#!include work.hosts
127.0.0.1 localhost
::1 localhost
इस तरह, मैं केवल उन दो अतिरिक्त फ़ाइलों में से एक, या दोनों की सामग्री को साफ कर सकता हूं और बाकी को छोड़ सकता हूं।
या, यह रोकते हुए, क्या यह एक छोटी स्क्रिप्ट बनाने की तुलना में ऐसा करने का एक बेहतर तरीका है जो फ़ाइलों को एक नई मेजबानों की फ़ाइल में रख देता है, और मेरे स्वचालन सेटअप के हिस्से के रूप में, मैं पहली बार उन अतिरिक्त फ़ाइलों में से कुछ को साफ करता हूं, और फिर मैं उन अतिरिक्त फ़ाइलों से एकल होस्ट फ़ाइल के पुनर्निर्माण के लिए स्क्रिप्ट का आह्वान करता हूं?
dscl
कमांड के बारे में पता नहीं था , मुझे उस पर भी शोध करना होगा।
dscl
है, जिसके लिए /etc/hosts
, बस उपलब्ध डेटा स्रोतों में से एक है होस्टनाम / आईपी पते मैपिंग (बेशक) प्रदान करते हैं। एक स्क्रिप्ट सेट करना dscl
जो कैश को लिखता है और फ्लश करता है, आपकी स्थिति में मेजबानों की कई प्रतियों को रखने या हर समय इसे फिर से लिखने की तुलना में बेहतर काम कर सकता है।
dscl
सीधे मेजबान प्रविष्टियों को संशोधित करना ?