डेबियन जेसी सिस्टम के लिए होस्टनाम कैसे सेट करें?


19

डेबियन जेसी के साथ आता है systemd। होस्टनाम सेट करने की सिफारिश सिस्टमडे के लिए hostnamectl का उपयोग कर रही है। हालाँकि, यह आदेश काम नहीं करता है (यहां तक ​​कि वर्तमान होस्टनाम प्रदर्शित करने के लिए) EC2 पर बूट की गई डेबियन जेसी छवि पर :

sudo hostnamectl
sudo: unable to resolve host ip-172-30-0-17
Failed to create bus connection: No such file or directory

इसलिए मैंने यहां डेबियन की सिफारिश के साथ आगे बढ़ने की कोशिश की ।

echo "myhostname" > /etc/hostname
echo "127.0.0.1 myhostname" >> /etc/hosts
/etc/init.d/hostname.sh start
/etc/init.d/networking force-reload

हालाँकि, लॉग आउट करने और फिर से लॉग इन करने के बाद, होस्टनाम नहीं बदलता है। हालांकि यह रिबूट के बाद बदल जाता है, लेकिन यह मेरे लिए वांछनीय नहीं है।

यह तरीका डेबियन व्हीजी में काम करता था।

इस अधिकार को पाने के लिए किसी भी मदद की सराहना की है।


जवाबों:


33

समस्या मिली। डेबियन जेसी के लिए EC2 पर बेस एएमआई, डब स्थापित नहीं है। होस्टनामेक्टेल को डब की जरूरत है। तो तय है:

apt-get update && apt-get install -y dbus

और तब:

hostname=myname
echo "127.0.0.1      $hostname" >> /etc/hosts
hostnamectl set-hostname "$hostname"
echo "$hostname" > /etc/hostname # uneeded

यह काम किया।


3
डब की निर्भरता पर अच्छी पकड़। FYI करें: मैं सीख रहा हूँ कि systemd सिस्टम को कैसे कॉन्फ़िगर किया जाए और पता चला कि hostnamectl set-hostname myhostnameस्वचालित रूप से /etc/hostname(स्टेटिक होस्टनाम) की सामग्री को अपडेट करता है इसलिए पहले echoकमांड की कोई आवश्यकता नहीं है ।
एंथनी जी -

मौजूदा RAIN के बारे में चेतावनी देते हुए, क्या सरणियों को भी समायोजित किया जा सकता है? जड़ @ डेबियन: ~ # rm / etc / ssh / ssh_host_ * जड़ @ डेबियन: ~ # dpkg-reconfigure openssh-सर्वर और शायद Regen initrd भी
RZR

1
@donatello लगता है जैसे timedatectldbus के प्रति भी इसी तरह की निर्भरता है ... आपके समाधान को साझा करने के लिए धन्यवाद!
गर्गली लुकासी

2

अपने EC2 होस्ट के होस्टनाम को बदलने के लिए, आपको चरणों का पालन करना होगा:

  1. रूट के रूप में लॉगिन करें:$: sudo su -
  2. Dbus स्थापित करें:$: apt-get update && apt-get install -y dbus
  3. सेटअप होस्टनाम: hostnamectl set-hostname <HOSTNAME>

<HOSTNAME>उस होस्टनाम के साथ बदलना सुनिश्चित करें जिसे आप सेट करना चाहते हैं।


0

हमें वास्तव में किसी भी पैकेज को स्थापित करने की आवश्यकता नहीं है, हमें केवल नीचे की सूची से डिस्ट्रो के अनुसार फाइल को संपादित करने की आवश्यकता है।

root@ServerOne:~# ls -l /etc/cloud/templates/
total 32
-rw-r--r-- 1 root root 1487 Nov 18  2015 chef_client.rb.tmpl
-rw-r--r-- 1 root root  941 May  3 23:37 hosts.debian.tmpl
-rw-r--r-- 1 root root  914 Nov 18  2015 hosts.freebsd.tmpl
-rw-r--r-- 1 root root  912 Nov 18  2015 hosts.redhat.tmpl
-rw-r--r-- 1 root root  866 Nov 18  2015 hosts.suse.tmpl
-rw-r--r-- 1 root root  812 Nov 18  2015 resolv.conf.tmpl
-rw-r--r-- 1 root root 1506 Nov 18  2015 sources.list.debian.tmpl
-rw-r--r-- 1 root root 2841 Nov 18  2015 sources.list.ubuntu.tmpl
root@ServerOne:~#

नीचे के रूप में लाइन संपादित करें, (टिप्पणी एक मूल पंक्ति है), नीचे {{fqdn}} और {{hostname}} को प्रतिस्थापित करें।

#127.0.1.1 {{fqdn}} {{hostname}}
127.0.1.1 ServerOne.opsplus.io ServerOne

वैकल्पिक रूप से, "manage_etc_hosts:" को नीचे के रूप में गलत पर सेट करें और आप होस्ट फ़ाइल को ओवरराइड करने से रोकेंगे / संशोधित करेंगे / आदि को होस्ट करेंगे।

root@ServerOne:~# cat /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg
apt_preserve_sources_list: true
manage_etc_hosts: true
root@ServerOne:~#
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.