Bagaimana cara mengatur nama host untuk sistem Debian Jessie?

19

Debian Jessie datang systemd. Rekomendasi untuk mengatur nama host menggunakan hostnamectl untuk systemd. Namun, perintah ini tidak berfungsi (bahkan untuk menampilkan nama host saat ini) pada gambar Debian Jessie yang dibooting di EC2 :

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

Jadi saya mencoba untuk meneruskan rekomendasi Debian di sini .

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

Namun, setelah keluar dan masuk lagi, nama host tidak berubah. Namun itu berubah setelah reboot, tetapi itu tidak diinginkan bagi saya.

Metode ini digunakan untuk bekerja di Debian Wheezy.

Setiap bantuan untuk mendapatkan hak ini dihargai.

donatello
sumber
Terkait: Nama
Host

Jawaban:

33

Menemukan masalahnya. AMI dasar pada EC2 untuk Debian Jessie, tidak memiliki dbus yang diinstal. hostnamectl tampaknya membutuhkan dbus. Jadi perbaikannya adalah:

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

Lalu:

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

Ini berhasil.

donatello
sumber
3
Tangkapan yang bagus pada ketergantungan dbus. FYI: Saya sudah belajar cara mengkonfigurasi sistem systemd dan menemukan bahwa hostnamectl set-hostname myhostnamesecara otomatis memperbarui konten /etc/hostname(nama host statis) sehingga tidak perlu untuk echoperintah pertama .
Anthony G - keadilan untuk Monica
Juga memperingatkan tentang HUJAN yang ada, dapatkah array disesuaikan juga? root @ debian: ~ # rm / etc / ssh / ssh_host_ * root @ debian: ~ # dpkg-konfigurasikan openssh-server Dan mungkin regen initrd juga
rzr
1
@donatello Sepertinya timedatectlmemiliki ketergantungan yang sama terhadap dbus juga ... terima kasih telah berbagi solusi Anda!
Gergely Lukacsy
2

Untuk mengubah hostanme host EC2 Anda, Anda harus mengikuti langkah-langkah di bawah ini:

  1. Masuk sebagai root:$: sudo su -
  2. Instal dbus:$: apt-get update && apt-get install -y dbus
  3. Atur nama host: hostnamectl set-hostname <HOSTNAME>

Pastikan untuk mengubah <HOSTNAME>dengan nama host yang ingin Anda atur.

lktslionel
sumber
0

Kami sebenarnya tidak perlu menginstal paket apa pun, kami hanya perlu mengedit file sesuai distro Anda dari daftar di bawah ini.

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:~#

Edit baris seperti di bawah ini, (Komentar adalah baris asli), ganti {{fqdn}} dan {{hostname}} seperti di bawah ini.

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

Atau, atur "manage_etc_hosts:" menjadi false seperti di bawah ini dan Anda bebas untuk memodifikasi file / etc / hosts karena akan berhenti menimpa file hosts.

root@ServerOne:~# cat /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg
apt_preserve_sources_list: true
manage_etc_hosts: true
root@ServerOne:~#
akprajapati
sumber