Come impostare il nome host per un sistema Debian Jessie?


19

Debian Jessie arriva systemd. La raccomandazione di impostare il nome host sta usando hostnamectl per systemd. Tuttavia, questo comando non funziona (anche per visualizzare l'attuale nome host) sull'immagine Debian Jessie avviata su EC2 :

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

Quindi ho cercato di andare avanti con la raccomandazione di Debian qui .

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

Tuttavia, dopo essersi disconnessi e aver effettuato nuovamente l'accesso, il nome host non cambia. Tuttavia, dopo un riavvio cambia, ma ciò non è desiderabile per me.

Questo metodo funzionava in Debian Wheezy.

Qualsiasi aiuto per ottenere questo risultato è apprezzato.


Risposte:


33

Trovato il problema L'AMI di base su EC2 per Debian Jessie non ha installato dbus. hostnamectl sembra aver bisogno di dbus. Quindi la soluzione è:

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

E poi:

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

Questo ha funzionato.


3
Buona cattura della dipendenza dbus. Cordiali saluti: Ho imparato a configurare i sistemi systemd e ho scoperto che hostnamectl set-hostname myhostnameaggiorna automaticamente il contenuto di /etc/hostname(nome host statico), quindi non è necessario il primo echocomando.
Anthony G - giustizia per Monica

Anche avvertimento sulla PIOGGIA esistente, è possibile regolare anche le matrici? root @ debian: ~ # rm / etc / ssh / ssh_host_ * root @ debian: ~ # dpkg-reconfigure openssh-server E forse anche regen initrd
rzr

1
@donatello Sembra timedatectlavere anche la stessa dipendenza da dbus ... grazie per aver condiviso la tua soluzione!
Gergely Lukacsy,

2

Per modificare l'hostanme del tuo host EC2, devi seguire i seguenti passaggi:

  1. Accedi come root:$: sudo su -
  2. Installa dbus:$: apt-get update && apt-get install -y dbus
  3. Nome host di installazione: hostnamectl set-hostname <HOSTNAME>

Assicurati di cambiare <HOSTNAME>con il nome host che desideri impostare.


0

In realtà non è necessario installare alcun pacchetto, è sufficiente modificare il file secondo la distro dall'elenco seguente.

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

Modifica la riga come di seguito, (quella commentata è la riga originale), sostituisci {{fqdn}} e {{hostname}} come di seguito.

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

In alternativa, imposta "manage_etc_hosts:" su false come di seguito e sei libero di modificare il file / etc / hosts in quanto smetterà di sovrascrivere il 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:~#
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.