วิธีตั้งค่าชื่อโฮสต์สำหรับระบบ Debian Jessie


19

Debian systemdเจสซีมาพร้อมกับ คำแนะนำในการตั้งชื่อโฮสต์นั้นใช้ hostnamectl สำหรับ systemd อย่างไรก็ตามคำสั่งนี้ใช้งานไม่ได้ (แม้จะแสดงชื่อโฮสต์ปัจจุบัน) บนอิมเมจ Debian Jessie ที่บู๊ตบน EC2 :

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

ดังนั้นผมจึงพยายามที่จะไปข้างหน้ากับข้อเสนอแนะของ Debian ที่นี่

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

อย่างไรก็ตามหลังจากออกจากระบบและลงชื่อเข้าใช้อีกครั้งชื่อโฮสต์จะไม่เปลี่ยนแปลง อย่างไรก็ตามมันเปลี่ยนไปหลังจากรีบูตเครื่อง แต่นั่นก็ไม่เป็นที่ต้องการสำหรับฉัน

วิธีนี้ใช้ในการทำงานใน Debian Wheezy

ความช่วยเหลือใด ๆ ในการได้รับสิทธินี้ได้รับการชื่นชม


คำตอบ:


33

พบปัญหา AMI ฐานบน EC2 สำหรับ Debian Jessie ไม่ได้ติดตั้ง dbus hostnamectl ดูเหมือนว่าต้องการ dbus ดังนั้นการแก้ไขคือ:

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
จับได้ดีกับการพึ่งพา dbus FYI: ฉันได้เรียนรู้วิธีกำหนดค่าระบบ systemd และค้นพบว่าhostnamectl set-hostname myhostnameอัปเดตเนื้อหาของ/etc/hostname(ชื่อโฮสต์คงที่) โดยอัตโนมัติดังนั้นไม่จำเป็นต้องใช้echoคำสั่งแรก
Anthony G - ความยุติธรรมสำหรับโมนิก้า

เตือนด้วย RAIN ที่มีอยู่แล้วอาร์เรย์อาจถูกปรับด้วยหรือไม่ root @ debian: ~ # rm / etc / ssh / ssh_host_ * root @ debian: ~ # dpkg-reconfigure openssh-server และอาจจะเริ่มต้นใหม่ด้วย
rzr

1
@donatello ดูเหมือนtimedatectlจะมีการพึ่งพา dbus เหมือนกัน ... ขอบคุณสำหรับการแบ่งปันโซลูชันของคุณ!
Lukacsy Gergely เมื่อ

2

ในการเปลี่ยนโฮสต์ของโฮสต์ EC2 ของคุณคุณต้องทำตามขั้นตอนต่อไปนี้:

  1. เข้าสู่ระบบด้วย root:$: sudo su -
  2. ติดตั้ง dbus:$: apt-get update && apt-get install -y dbus
  3. ตั้งค่าชื่อโฮสต์: hostnamectl set-hostname <HOSTNAME>

อย่าลืมเปลี่ยน<HOSTNAME>ชื่อโฮสต์ที่คุณต้องการตั้งค่า


0

เราไม่จำเป็นต้องติดตั้งแพคเกจใด ๆ เราเพียงแค่ต้องแก้ไขไฟล์ตามที่คุณ distro จากรายการด้านล่าง

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:" เป็น false ด้านล่างและคุณสามารถแก้ไขไฟล์ / etc / hosts ได้ฟรีเนื่องจากจะหยุดการเขียนทับไฟล์ hosts

root@ServerOne:~# cat /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg
apt_preserve_sources_list: true
manage_etc_hosts: true
root@ServerOne:~#
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.