/ ইত্যাদি / হোস্ট ফাইলটিতে টুকরো টুকরো যোগ করার জন্য পুতুলের সর্বোত্তম উপায় কী?


8

কমপক্ষে প্রথম 10 টি লাইন নিজেই হোস্ট-ফাইল সম্পাদনা করার ক্ষমতা রাখতে চাই।

#Public IP's - eth0
192.168.1.103   front-01
192.168.1.106   front-02

#Private IP's - eth1
192.169.40.201  priv0-0
192.169.40.202  priv0-1
192.169.40.207  priv1-0
192.169.40.208  priv1-1

#Virtual IP's - eth0:1
192.169.50.202  vip-01
192.169.50.205  vip-02

এই হোস্টগুলিতে / ইত্যাদি / হোস্টগুলির নীচে থাকা এগুলি নিখুঁত হবে। এই কাজ করতে সবচেয়ে ভালো উপায় কি? 8 টি হোস্ট-লাইন প্রকাশের চেয়ে আরও ভাল উপায় কি আছে?

# create a simple hostname and ip host entry
host { 'front-01':
    ip => '192.168.1.103',
}

এমন সার্ভার গ্রুপ থাকতে পারে যাদের তাদের / ইত্যাদি / হোস্টগুলিতে বিভিন্ন আইপি / হোস্টনামের প্রয়োজন হয়। আমি একটি টেমপ্লেট ব্যবহার করব, তবে এর অর্থ লোকেরা আর তাদের / ইত্যাদি / হোস্টগুলিতে ম্যানুয়াল পরিবর্তন করতে পারে না কারণ তারা টেমপ্লেটের মাধ্যমে ওভাররাইট হয়ে যাবে।

উত্তর:


14

সত্যি বলতে, hostএটি করার সহজ উপায়টি রিসোর্সটি ব্যবহার করা । আপনাকে কেবল পুতুল দ্বারা নিয়ন্ত্রিত হোস্টগুলির সংজ্ঞা দিতে হবে, এবং আপনি এখনও হাতের সাহায্যে বাকী ফাইলটি সম্পাদনা করতে পারবেন (যদিও পুতুল আপনাকে সেই শিরোনামে ফেলেছে যা আপনাকে না বলে)।

augeasমডিউল কারণ এটা শুধু কার্যকারিতা সদৃশ, একটি হোস্ট ফাইলের জন্য Overkill হয় host(যদিও এটি "এই ফাইলটি সম্পাদনা করবেন না" হেডারের মধ্যে যোগ না) সম্পদ।

আপনি যদি সত্যিই আরও জটিল কিছু চান বা আপনি ফাইলের লাইন স্থাপনের উপর সূক্ষ্ম নিয়ন্ত্রণ চান , তবে খণ্ডগুলির মধ্যে একটির জন্য স্থানীয় উত্সের সাথে কনক্যাট মডিউলটি ব্যবহার করুন । concatডকুমেন্টেশনে ঠিক সেই ধরণের জিনিসটির (মোড্ড ফাইলটি ব্যবহার করে) উদাহরণ রয়েছে ।

তবে সত্যই, hostপুতুল থেকে আপনার যে হোস্টগুলি সংজ্ঞায়িত করতে চান তার জন্য কেবলমাত্র সংস্থানটি ব্যবহার করুন এবং আপনার অন্য যে কোনও প্রয়োজনের জন্য স্থানীয় হোস্ট ফাইলগুলি সম্পাদনা করুন।

এছাড়াও খেয়াল করুন যে আপনি পুতুলের মধ্যে হোস্ট সংজ্ঞাগুলি নিখুঁতভাবে লিখতে পারেন:

host {
  # Public IPs - eth0
  'front-01': ip => '192.168.1.103';
  'front-02': ip => '192.168.1.106';

  # Private IPs - eth1
  'priv0-0': ip => '192.169.40.201';
  'priv0-1': ip => '192.169.40.202';
  'priv1-0': ip => '192.169.40.207';
  'priv1-1': ip => '192.169.40.208';

  # Virtual IPs - eth0:1
  'vip-01': ip => '192.169.50.202';
  'vip-02': ip => '192.169.50.205';
}

এই উত্তরটি আমার থেকে কিছুটা ভাল :-)
সায়ান

1

পুতুলের মধ্যে নির্মিত অজিওস কার্যকারিতাটি ব্যবহার করুন। আপনি কিছু চান

augeas {
  context => "files/etc/hosts"
  changes => [
    "set <ip address> <name>",
  ],
}

0

হোস্ট রিসোর্স প্রকারের পাশাপাশি আপনি / ইত্যাদি / হোস্ট ফাইলের জন্য আউজি ব্যবহার করতে পারেন এমন একটি ক্ষেত্রে হ'ল নকল আইপি ঠিকানা লাইন।

হোস্ট রিসোর্স টাইপ বেশ আনন্দের সাথে একই আইপি ঠিকানার সাথে লাইনগুলিকে অনুমতি দেয়। (এটি গুগল; অত্যন্ত অস্পষ্ট ক্ষেত্রে যেখানে এটি ভাল ধারণা হতে পারে।)

তবে আপনি যদি নিজের / ইত্যাদি / হোস্ট ফাইলটিতে ডুপ্লিকেট আইপি ঠিকানাগুলি না চান - তবে আউজিরা আপনাকে সহায়তা করতে পারে। হোস্টরা এর জন্য কোনও সহায়তা নয়।


-1

কোড ছাড়াই কেবল একটি পদ্ধতি:

টেম্প্লেটিং বা যে কোনও কিছু যা /etc/hosts.puppetস্পষ্ট শুরু এবং শেষ লাইনগুলির সাথে কোনও ফাইল আপডেট করে Use

###PUPPETSTART###
## Users: Lines between START and END will be deleted, put your own entries below 

192.168.0.1 host1
###PUPPETEND###

এবং নির্ভরতা হিসাবে শেল স্ক্রিপ্ট রয়েছে যা এই বিভাগটিকে বাইরে রাখে /etc/hostsএবং এর সামগ্রীর সাথে এটি প্রতিস্থাপন করে /etc/hosts.puppet

সাবধান থাকুন যে ব্যবহারকারীরা ফাইলটি সম্পাদনা করে এবং পুতুলের চালনার সময় এটি পরিবর্তন হয় race বিকল্পভাবে, আপনার ব্যবহারকারীদের একটি ফাইল সম্পাদনা করতে নির্দেশ দিন /etc/hosts.userএবং /etc/hostsযখনই কোনও পরিবর্তন হয় উভয় ফাইলের তৈরি করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.