পুনরায় নামকরণ কার্যকর হওয়ার জন্য আমি কীভাবে একটি লিনাক্স হোস্টের পুনরায় নামকরণ করব?


26

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

আমি উবুন্টু 16 এবং উবুন্টু 18 ব্যবহার করছি।

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

আমি জানি যে হোস্টটির নাম পরিবর্তন করতে, আমি ফাইলগুলি সম্পাদনা করি:

  • /etc/hostname
  • /etc/hosts

ইন /etc/hostnameএক মাত্র বর্তমান হোস্ট-নেম প্রতিস্থাপন নতুন হোস্টনাম সঙ্গে (শীঘ্রই সাবেক হোস্টনাম হতে)।

/etc/hostsফাইলটিতে উবুন্টুর লাইন রয়েছে:

127.0.1.1 your-hostname your-hostname

আপনার হোস্টটি বুট আপ করার সময় এবং এটি আপনার নেটওয়ার্কের মধ্যে নিজেকে প্রতিষ্ঠিত করার সময় এটি বুটস্ট্র্যাপিং হিসাবে কাজ করে। হোস্ট-নেম পরিবর্তন করার আগে, your-hostnameবর্তমান (শীঘ্রই পূর্বের হোস্টনাম হতে হবে) এবং আপনার হোস্টের হোস্ট-নেম পরিবর্তনের অংশ হিসাবে, একটি নতুন নামটির সাথে সেই নামটি প্রতিস্থাপন করে।

আমি যেটির সাথে পরিচিত তা হ'ল উপরের দুটি পদক্ষেপ কার্যকর করা এবং তারপরে আপনার হোস্টকে রিবুট করা। তবে প্রচুর সময়, যেমন একটি প্রোডাকশন সার্ভারের মতো, কেউ সেই নামটি প্রয়োগ করতে চায় তবে তার হোস্টটিকে পুনরায় বুট করতে পারে না।

আমি কীভাবে কোনও হোস্টের হোস্টনেম পরিবর্তন করতে পারি এবং হোস্টটিকে রিবুট না করে এই পরিবর্তনটি কার্যকর করতে পারি?


1
"উবুন্টু 16" এবং "উবুন্টু 18" এর মতো কিছুই নেই, 16.10 এবং 17.04 এর মধ্যে 16.04 এবং 16.10 এর মধ্যে বড় পার্থক্য থাকতে পারে।
পাইপ

উত্তর:


49

আপনি hostnamectlসরঞ্জামটি ব্যবহার করে সিস্টেম-ভিত্তিক সিস্টেমে হোস্টনামের কর্নেলের ধারণাটি পরিবর্তন করতে পারেন । উদাহরণ স্বরূপ:

hostnamectl set-hostname whatever

আপনি সিস্টেমটির বর্তমান হোস্টনামের ধারণার সাথে দেখতে পারেন:

hostnamectl             # equivalent to hostnamectl status

মনে রাখবেন যে এটি হোস্টনামের চলমান প্রক্রিয়ার ধারণার পরিবর্তন করে না। এই জাতীয় প্রক্রিয়াটি আপডেট হওয়ার জন্য হোস্টনামটি আবার পরীক্ষা করতে হবে এবং প্রায় কোনও প্রক্রিয়াই তা করে না। এই জাতীয় প্রক্রিয়া পুনরায় আরম্ভ করা প্রয়োজন। প্রতিটি প্রক্রিয়া নতুন হোস্ট-নেম ব্যবহার শুরু করার জন্য , তাদের অবশ্যই পুনরায় চালু করতে হবে। প্রতিটি পরিষেবা পৃথকভাবে পুনরায় চালু করার চেয়ে কেবল সিস্টেমটিকে পুনরায় বুট করা সহজ।


1
আমি যদি নামটির পরে এটি পুনরায় চালু করতে না চাই তবে আমার সার্ভারে নেটওয়ার্কিং পুনরায় চালু করার দরকার আছে কি? আমি এটি খুঁজে পেয়েছি: sudo /etc/init.d/network restart সেগুলি বাদ দিয়ে, সার্ভারটির নাম জানার প্রয়োজন হয় এমন কোনও চলমান প্রক্রিয়া পুনরায় আরম্ভ করার বিষয়ে আপনার কমান্ডটির মাধ্যমে আমার সার্ভারে নেটওয়ার্কিং পুনরায় চালু করা বৈধ। সম্মত হন যে হোস্টটিকে পুনরায় চালু করা এটি ঠিক করবে। এটি বলেছিল, এমন অনেক সময় আছে যে আমি সত্যিই কোনও হোস্টের নাম পরিবর্তন করতে চাই, তবে সত্যই এটি পুনরায় চালু করতে চাই না। sudo /etc/init.d/network restartনতুন হোস্টনামটি ডাব্লু-রিবুট কার্যকর করতে কার্যকর হওয়ার বিষয়ে কোনও মতামত এবং এর কার্যকারিতা?
পিটার জিরাক এল্ড্রিচ

3
@ পিটারজিরাক: সম্পূর্ণরূপে অকেজো। যদি সেই প্রোগ্রামগুলি (যা হোস্টনামটি জানা দরকার) আগে হোস্টনাম আপডেটগুলি দেখার জন্য বিরক্ত না করে, তবে তারা এখন বিরক্ত করবে না। সিস্টেমে eth0 এ IP ঠিকানাগুলি পুনরায় কনফিগার করতে বললে এটি কিছুটা হলেও প্রভাব ফেলবে না।
মাধ্যাকর্ষণ

@ পিটারজিরাক "নতুন হোস্টনামটি কার্যকর হতে" বলতে আপনার অর্থ কী? পূর্বে আলোচনা হিসাবে, এটি অবিলম্বে কার্যকর হয় এবং যে কোনও নতুন শুরু হওয়া প্রক্রিয়া এটি সম্পর্কে সচেতন হবে। আমিও বুঝতে পারছি না কেন আপনি নেটওয়ার্কটি পুনরায় চালু করার বিষয়ে জিজ্ঞাসা করছেন? হোস্টনামের সাথে এর কী সম্পর্ক?
মাইকেল হ্যাম্পটন

5
এটি একটি সাধারণ ভ্রান্ত ধারণা যে "নেটওয়ার্কিং" এর সম্পূর্ণতা একটি ইউজারস্পেস পরিষেবা যা পুনরায় চালু করা যেতে পারে, কারণ এর নামে একটি /etc/init.d স্ক্রিপ্ট রয়েছে।
মাধ্যাকর্ষণ

2
@ পিটারজিরাক একটি পার্শ্ব নোট হিসাবে, পরিষেবাগুলি চালনা করা সিস্টেমড /etc/init.dসিস্টেমে ভুল পদ্ধতি। এটি কেবল পুরানো সিস্টেম ভি এর পিছনে সামঞ্জস্যের জন্য রয়েছে
রেক্সকোগিটানস

22

আপনি ইন-কার্নেল হোস্টনামটি ব্যবহার করে এটি পরিবর্তন করতে পারেন:

hostname NEWNAME

লিনাক্সে এটি ব্যবহারিকভাবে নীচের যে কোনওটির সমান:

sysctl kernel.hostname=NEWNAME

echo NEWNAME > /proc/sys/kernel/hostname

এটি সিস্টেমেডের উপর নির্ভর করে না ( হোস্টনামেক্টল এর বিপরীতে যা সিস্টেমড-হোস্টনামের প্রয়োজন) বা অন্য কোনও মানক-সরঞ্জাম নয়, এবং প্রায়শই (বিশেষত শেলসক্রিপ-ইন সিস্টেমে) প্রথম হোস্টনামটি কীভাবে প্রথম স্থানে সেট করা হয়েছিল তা নির্ভর করে না ।

বেশিরভাগ প্রোগ্রাম এবং পরিষেবাগুলি আসলে হোস্টের নাম ব্যবহার করে না ; কয়েকটি যা করে (যেমন পোস্টফিক্স বা কার্বেরোস ব্যবহার করে পরিষেবাগুলি) একে একে একে পুনরায় চালু করা যেতে পারে।

(কিছু প্রোগ্রাম পুনরায় আরম্ভ না হওয়া অবধি হোস্টনামকে ক্যাশে করে, অন্যরা যখনই প্রয়োজন হয় ততবার এটিকে জিজ্ঞাসা করে Prog প্রোগ্রামগুলিতে পরিবর্তন বিজ্ঞপ্তিগুলি পাওয়ার জন্য (2) / proc / sys / কার্নেল / হোস্টনামের পোল দেওয়ার ক্ষমতাও রয়েছে তবে কয়েকটি কম))


2
মনে রাখবেন যে এই পদ্ধতিগুলি অবিচল নয় এবং পুনরায় বুট থেকে বাঁচবে না।
মাইকেল হ্যাম্পটন

3
ভাগ্যক্রমে, ওপি ইতিমধ্যে তাদের প্রশ্নের মধ্যে দৃ in়তা আবরণ করেছে।
মহাকর্ষ

1
পোস্টফিক্সটিতে হোস্টের নামটি এক বা দুটি জায়গায় কঠোরভাবে কোডড থাকতে পারে /etc/postfix/main.cfএবং /etc/mailnameতাই সেগুলিও সম্পাদনা করতে হবে।
মার্ক প্লটনিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.