ম্যাক ওএস এক্স “হোস্ট” ফাইল, আমি কি এর সাথে অন্য ফাইলগুলি অন্তর্ভুক্ত করতে পারি?


10

আমি প্রায়শই বিভিন্ন নেটওয়ার্ক অ্যাক্সেস করার সময় আমার নেটওয়ার্ক সেটিংস কনফিগার করতে, ফাইলের সামগ্রীগুলি এবং / ইত্যাদি / সমাধানকারী ফাইলগুলি কনফিগার করতে কিছু অটোমেশন স্ক্রিপ্টগুলিতে কাজ করছি।

কিছু সংমিশ্রণ রয়েছে যা ঘটতে পারে যে সকলের জন্য হোস্ট ফাইলের পরিবর্তনের প্রয়োজন হয় এবং আমি সমস্ত জায়গাতে ভাগ করে নেওয়া সেটিংসের নকল করে বিভিন্ন সংমিশ্রনের একটি ম্যাট্রিক্স সেটআপ করা এড়াতে চাই।

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

যেমনটি, আমি আশা করছিলাম যে "বাড়ির জন্য একটি ফাইল তৈরি করার পরিবর্তে, ভিপিএন এর উপরে কাজ অ্যাক্সেস করা" বনাম "বাড়ির কাজ, অ্যাক্সেস না করা" ইত্যাদির পরিবর্তে, আমার জন্য অন্য ফাইলগুলি অন্তর্ভুক্ত করার উপায় আছে কি?

উদাহরণস্বরূপ, আসুন নীচের অনুমানের সিনট্যাক্সটি কাজ করে:

#!include home.hosts
#!include work.hosts

127.0.0.1 localhost
::1 localhost

এইভাবে, আমি কেবলমাত্র সেই দুটি অতিরিক্ত ফাইলগুলির মধ্যে একটি বা উভয়টির বিষয়বস্তু পরিষ্কার করতে পারি এবং বাকীটি রেখে দিতে পারি।

বা, এটি বাদ দিয়ে, এর চেয়ে আরও ভাল উপায় আর কি কেবল একটি ছোট স্ক্রিপ্ট তৈরি করা যা নতুন হোস্ট ফাইলগুলিতে ফাইলগুলি সংযুক্ত করে তোলে এবং আমার অটোমেশন সেটআপের অংশ হিসাবে, আমি প্রথমে those অতিরিক্ত কিছু ফাইল সাফ করে দিয়েছি, এবং তারপরে আমি সেই অতিরিক্ত ফাইলগুলি থেকে একক হোস্ট ফাইল পুনর্নির্মাণের জন্য স্ক্রিপ্টটি অনুরোধ করব?


আপনি কি নিশ্চিত যে হোস্ট এন্ট্রিগুলি dsclসরাসরি মাধ্যমে সংশোধন করার বিপরীতে হোস্ট ফাইলটিতে পরিবর্তন প্রয়োজন ?
ড্যানিয়েল অঙ্গুলিনির্দেশ

আমি dsclকমান্ড সম্পর্কে সচেতন ছিলাম না , আমাকে সে সম্পর্কেও গবেষণা করতে হবে।
ল্যাসে ভি কার্লসেন 22'12

যেমন এখানে দেখুন । অভ্যন্তরীণভাবে, ওএস এক্স এর ডিরেক্টরি পরিষেবাগুলি ব্যবহার করে, যা আপনি ব্যবহার করে নিয়ন্ত্রণ করতে পারেন dscl, যার /etc/hostsজন্য কেবল উপলব্ধ ডেটা উত্সগুলির মধ্যে একটি হ'ল (অবশ্যই) হোস্টনাম / আইপি ঠিকানা ম্যাপিংস সরবরাহ করে। dsclহোস্ট ফাইলের একাধিক অনুলিপি রাখার চেয়ে বা লিঙ্কটি সর্বদা পুনর্লিখনের চেয়ে আপনার স্ক্রিপ্টে লিখিত এবং ক্যাশে ফ্লাশ করে এমন স্ক্রিপ্ট সেট আপ করা আপনার পরিস্থিতিতে আরও ভাল কাজ করতে পারে।
ড্যানিয়েল বেক

@ ড্যানিয়েলবেক: ভালো কথা! আমি dscl এর সমস্ত ক্ষমতা সম্পর্কে অবগত ছিলাম না।
করলোস

আপনি যদি সেভাবে এটি চেষ্টা করে দেখতে চান তবে এটি কীভাবে কাজ করে তা আমাকে জানান। নিজে চেষ্টা করে দেখিনি, তাই আমি উত্তর হিসাবে পোস্ট করি না। শুভকামনা!
ড্যানিয়েল বেক

উত্তর:


7

আমি অন্তর্ভুক্ত সম্ভাবনা সম্পর্কে সচেতন নই। আমি যা করব তা হ'ল আমার হোস্ট ফাইলে বিভাগগুলি তৈরি করা এবং তারপরে প্রতিটি স্ক্রিপ্টের লাইনগুলিকে মন্তব্য করার জন্য একটি স্ক্রিপ্ট ব্যবহার করুন, উদাহরণস্বরূপ, সেড।

এইভাবে আপনার ফাইলটি দেখতে ভাল লাগবে

#%%%HOME.HOSTS%%%
#Put here the contents of home.hosts
#%%%WORK.HOSTS%%%
#Put here the contents of work.hosts

#%%%ALWAYS_ON%%%
127.0.0.1 localhost
::1 localhost

সম্পাদনা করুন: ক্ষেত্রগুলি সংশোধন করার জন্য একটি দ্রুত প্রয়াসে যুক্ত করা।

হোম.হোস্টস এর জন্য মন্তব্য সরানো হচ্ছে

 sed -i '/#%%%HOME.HOSTS/,/#%%%/s/^#\([^%]\)/\1/g' hosts

হোম.হোস্টস-এর জন্য মন্তব্যগুলি ফিরিয়ে দেওয়া

 sed -i '/#%%%HOME.HOSTS/,/#%%%/s/^\([^#]\)/#\1/g' hosts

এটি একটি প্রাথমিক সংস্করণ এবং আপনার প্রয়োজনের সাথে সামঞ্জস্য করা দরকার।


হ্যালো কার্লোস, আপনি কমান্ডটি সম্পর্কে আরও বর্ণনা করতে পারবেন: sed -i '/#%%%HOME.HOSTS/,/#%%%/s/^#\([^%]\)/\1/g' hostsএবং হোস্ট ফাইলের বিভাগ সম্পর্কে দয়া করে। আমি সত্যিই বুঝতে পারছি না কেন :(
টান এনগুইন

@ এনএনটিওয়ান: লাইনটি যে sedদুটি লাইনের মধ্য দিয়ে দুটি #% ৯০% রেখার মধ্যবর্তী লাইনের শুরুতে একটি # যোগ করতে বা মুছে ফেলার কথা বলেছে han এটি লাইনগুলিকে মন্তব্য বা আন-মন্তব্য করবে। উদাহরণটি দেখায় যে কীভাবে # %%% হোম.হোস্টস ব্যবহার করে HOM.HOSTS বিভাগটি মন্তব্য করা যায়; WORK.HOSTS বিভাগে মন্তব্য বা আন-মন্তব্য করার জন্য আপনাকে সিড কমান্ডের পরিবর্তে # %%% WORK.HOSTS ব্যবহার করা উচিত।
ক্যারোলস

0

যেহেতু ওপেনডাইরেক্টরি সার্ভিসে স্যুইচ করার কারণে dscl আর কাজ করছে না, তাই একটি বিকল্প হল ভূত ব্যবহার করা:

sudo gem install ghost

sudo ghost add fw.test.se 10.0.0.1

... / বিভাগ / হোস্টগুলিতে এই বিভাগটি যুক্ত করবে:

# ghost start
10.0.0.1 fw.start.se
# ghost end

হোস্ট ফাইল ফাইলের # ঘোস্ট বিভাগটি সাফ করার জন্য (এটি একটি নতুন দিয়ে হোস্টের তালিকাটি প্রতিস্থাপন করা সহজ করে তোলে):

sudo ghost empty

আপনি ভূত সম্পর্কে আরও তথ্য এখানে পেতে পারেন: https://github.com/bjeanes/ghost


0

হোস্ট ফাইলে বিভিন্ন ল্যান / ডাব্লুএএন সেটিংস ব্যবহার করে তিনটি পৃথক স্থানে পরিষেবা অ্যাক্সেস করার দরকার পড়লে আমার অনুরূপ ব্যবহারের কেস হয়েছিল। উপরের করোলসের উত্তর একটি সম্ভাব্য সমাধান। আমার পন্থা এখানে।

1- http://apple.stackexchange.com/q/139267/74657 এ রেফ করুন

2- প্রতিটি অবস্থানের জন্য হোস্ট ফাইল তৈরি করে (স্বাগত। ওয়ার্কস, হোস্টহোম, হোস্টস.ভেন্ডার)

3- সলোজের স্ক্রিপ্ট ব্যবহার করে, এখানে ( https://github.com/slozo/Network-listener ) আমি যখনই হোম নেটওয়ার্কের সাথে সংযোগ করি, আমি হোস্ট ফাইলটি স্যুইচ করার জন্য সহজ স্ক্রিপ্টটি সম্পাদন করি।

সহজ পদ্ধতি হবে

mv hosts.home /etc/hosts

পর্যায়ক্রমে আপনি নির্দিষ্ট এসএসআইডি সংযোগের জন্য প্রস্থানকারী ফাইলটি আপডেট করতে উপরে ব্যবহার করে করোলসের উত্তরটি স্বয়ংক্রিয় করতে পারেন যা উপরে বর্ণিত সলোজ স্ক্রিপ্টটি ব্যবহার করে আপনি সনাক্ত করতে এবং সহজেই চালাতে পারবেন।

আশা করি যে বিষয়টির বিষয়ে যে কেউ হোঁচট খাচ্ছে।

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