मैं ओएस होस्टनाम बदलना चाहता हूं लेकिन मैं पुनरारंभ नहीं करना चाहता ।
मैंने संपादित किया है /etc/hostname
लेकिन इसे लागू करने के लिए पुनरारंभ की आवश्यकता है । इससे कैसे बचें?
मैं ओएस होस्टनाम बदलना चाहता हूं लेकिन मैं पुनरारंभ नहीं करना चाहता ।
मैंने संपादित किया है /etc/hostname
लेकिन इसे लागू करने के लिए पुनरारंभ की आवश्यकता है । इससे कैसे बचें?
यह आसान है । बस गियर आइकन (स्क्रीन के ऊपरी दाएं कोने पर स्थित) पर क्लिक करें, "इस कंप्यूटर के बारे में" स्क्रीन (गियर आइकन पर स्थित ) खोलें और "डिवाइस का नाम"संपादित करें ।
या, टर्मिनल में, निम्न कमांड का उपयोग करें:
sudo hostname your-new-name
यह होस्टनाम को आपके-नए-नाम पर तब तक सेट करेगा जब तक आप पुनरारंभ नहीं करते । देखें man hostname
और मैं कंप्यूटर का नाम कैसे बदलूं? अधिक जानकारी के लिए. उपयोग न करें _
आपके नाम पर ।
नोट
में अपने परिवर्तनों को पुनः आरंभ करने के बाद /etc/hostname
उपयोग किया जाएगा, इसलिए (जैसा कि आपने प्रश्न में कहा था), आपको अभी भी उपयोग करना चाहिए
sudo -H gedit /etc/hostname
(या कुछ अन्य संपादक) ताकि फ़ाइल में होस्टनाम हो ।
यह जांचने के लिए कि फ़ाइल सही तरीके से सेट की गई है, चलाएँ:
sudo service hostname start
आपको संपादित भी करना चाहिए /etc/hosts
और उस लाइन को बदलें जो पढ़ता है:
127.0.1.1 your-old-hostname
ताकि अब इसमें आपका नया होस्टनाम हो । (यह आवश्यक है अन्यथा कई आदेश कार्य करना बंद कर देंगे । )
द hostnamectl
कमांड डेस्कटॉप और सर्वर संस्करण दोनों पर डिफ़ॉल्ट स्थापना का हिस्सा है ।
यह के माध्यम से होस्टनाम की स्थापना को जोड़ती है hostname
कमांड और संपादन /etc/hostname
. साथ ही स्थिर होस्टनाम सेट करना, यह "सुंदर" होस्टनाम सेट कर सकता है, जिसका उपयोग उबंटू में नहीं किया जाता है । दुर्भाग्य से, संपादन /etc/hosts
अभी भी अलग से किया जाना है ।
hostnamectl set-hostname new-hostname
यह आदेश का हिस्सा है systemd-services
पैकेज (जो उबंटू 14.04 के रूप में भी शामिल है timedatectl
और localectl
आदेश) । जैसा कि उबंटू माइग्रेट करता है systemd
, यह उपकरण भविष्य है ।
उबंटू में होस्टनाम या कंप्यूटर का नाम बदलना पुनरारंभ किए बिना
संपादित करें/आदि / होस्टनाम और नए मान में बदलें,
nano /etc/hostname
संपादित करें/आदि / होस्ट और पुराने 127.0.1.1 लाइन को अपने नए होस्टनाम में बदलें
127.0.0.1 localhost127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
नोट> : मैंने इसे एक मंच संपादन /आदि/होस्ट पर पढ़ा है और पुरानी 127.0.1.1 लाइन को अपने नए होस्टनाम में बदल दिया है (यदि आप ऐसा नहीं करते हैं, तो आप अब सुडो का उपयोग करने में सक्षम नहीं होंगे । यदि आपने इसे पहले ही कर लिया है, तो ग्रब मेनू पर ईएससी दबाएं, रिकवरी चुनें, और अपनी होस्ट फ़ाइल को सही सेटिंग्स में संपादित करें)
अब रिबूट के बाद, आपका होस्टनाम आपके द्वारा चुना गया नया होगा
बदलने के लिए रिबूट के बिना, आप बस उपयोग कर सकते हैं hostname.sh आपके द्वारा संपादित /आदि/होस्टनाम के बाद । जब तक आप नीचे दिए गए कमांड को निष्पादित नहीं करते हैं, तब तक आपको अपने दोनों होस्ट नामों को /आदि/होस्ट (127.0.0.1 न्यूहोस्ट ओल्डहोस्ट) में रखना होगा:
sudo service hostname start
नोट : परिवर्तन को सक्रिय बनाने के लिए उपरोक्त आदेश । इस फ़ाइल में सहेजा गया होस्टनाम (/आदि/होस्टनाम) सिस्टम रिबूट पर संरक्षित किया जाएगा (और उसी सेवा का उपयोग करके सेट किया जाएगा) ।
जब आप उबंटू स्थापित कर रहे थे तो डिफ़ॉल्ट नाम सेट किया गया था । आप होस्ट और होस्टनाम फ़ाइलों को संपादित करके डेस्कटॉप और सर्वर दोनों में इसे आसानी से बदल सकते हैं । नीचे कैसे है:
sudo hostname NEW_NAME_HERE
यह होस्टनाम को अगले रिबूट तक बदल देगा । परिवर्तन आपके वर्तमान टर्मिनल में तुरंत दिखाई नहीं देगा । नया होस्टनाम देखने के लिए एक नया टर्मिनल प्रारंभ करें ।
नाम को स्थायी रूप से बदलने के लिए, होस्ट फ़ाइलों को संपादित करने के लिए कमांड चलाएँ:
sudo -H gedit /etc/hostname
और sudo -H gedit /etc/hosts
जीयूआई के बिना उबंटू सर्वर के लिए, चलाएं sudo vi /etc/hostname
और sudo vi /etc/hosts
और उन्हें एक से संपादित करें one.In दोनों फाइलें, नाम को आप जो चाहते हैं उसे बदलें और उन्हें सहेजें ।
अंत में, परिवर्तनों को लागू करने के लिए अपने कंप्यूटर को पुनरारंभ करें ।
Whilst ऊपर दृष्टिकोण (hostnamectl
, etc/hostname
, आदि) के आगमन के साथ तत्काल होस्टनाम परिवर्तन के लिए काम करें बादल-init - जो होस्टनाम की सेटिंग को नियंत्रित कर सकता है-कई अन्य चीजों के बीच । तो यह रिबूट के बाद छड़ी नहीं करेगा यदि क्लाउड-इनिट स्थापित है । यदि आप चाहते हैं कि रिबूट के बाद परिवर्तन बने रहें तो आपको संपादित करना होगा बादल-init config फ़ाइलें अक्षम , बादल-init के होस्टनाम सेट / अद्यतन मॉड्यूल:
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
या क्लाउड-इनिट को पूरी तरह से अक्षम करें:
sudo touch /etc/cloud/cloud-init.disabled
यहां एक स्क्रिप्ट है जो होस्टनाम को निर्धारित तरीके से बदलती है । यह सुनिश्चित करता है कि न केवल sudo
लेकिन एक्स 11 एप्लिकेशन भी बिना किसी पुनरारंभ के कार्य करना जारी रखते हैं ।
उपयोग: sudo ./change_hostname.sh new-hostname
#!/usr/bin/env bashNEW_HOSTNAME=$1echo $NEW_HOSTNAME > /proc/sys/kernel/hostnamesed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hostsecho $NEW_HOSTNAME > /etc/hostnameservice hostname startsu $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
पुनरारंभ किए बिना:
/etc/hostname
/etc/hosts
तदनुसारsudo sysctl kernel.hostname=mynew.local.host
अपने वर्तमान होस्टनाम की जाँच करें hostname -f
अपना वर्तमान होस्टनाम प्राप्त करने के लिए:
cat /etc/hostname
इसे किसी भी टेक्स्ट एडिटर में बदला जा सकता है । आपको 127.0.0.1 /आदि/मेजबानों के खिलाफ लोकलहोस्ट के अलावा अन्य प्रविष्टि को भी अपडेट करना होगा ।
पर आधारित समाधान उत्तर से DigitalOcean Comunity.
संपादित करें मेजबान फ़ाइल।
$ sudo nano /etc/hosts
बदलें oldname नए के साथ ।
127.0.0.1 localhost newname
नया होस्टनाम सेटअप करें ।
$ sudo hostnamectl set-hostname newname
/etc/hostname
वांछित होस्टनाम के साथ (आप इसके साथ संपादित कर सकते हैं sudo nano /etc/hostname
)/etc/hosts
, 127.0 के बगल में प्रविष्टि को बदलें।1.1 वांछित होस्टनाम के साथ (आप इसके साथ संपादित कर सकते हैं sudo nano /etc/hosts
)sudo service hostname restart; sudo service networking restart
चेतावनी: उबंटू 18+ के साथ काम नहीं करेगा जो डिफ़ॉल्ट रूप से क्लाउड-इनिट चला रहा है, जो बूट पर होस्टनाम को नियंत्रित करता है ।
@nslntmnx, धन्यवाद!