Comment définir le nom d'hôte d'un système Debian Jessie?

19

Debian Jessie est livrée avec systemd. La recommandation de définir le nom d'hôte utilise hostnamectl pour systemd. Cependant, cette commande ne fonctionne pas (même pour afficher le nom d'hôte actuel) sur l' image Debian Jessie démarrée sur EC2 :

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

J'ai donc essayé d'aller de l'avant avec la recommandation de Debian ici .

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

Cependant, après la déconnexion et la reconnexion, le nom d'hôte ne change pas. Il change cependant après un redémarrage, mais ce n'est pas souhaitable pour moi.

Cette méthode fonctionnait auparavant dans Debian Wheezy.

Toute aide pour obtenir ce droit est appréciée.

donatello
la source
En relation: Le nom d' hôte Debian refuse de s'en tenir
Kenorb

Réponses:

33

Trouvé le problème. L'AMI de base sur EC2 pour Debian Jessie, n'a pas installé dbus. hostnamectl semble avoir besoin de dbus. La solution consiste donc à:

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

Puis:

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

Cela a fonctionné.

donatello
la source
3
Bonne prise sur la dépendance dbus. FYI: J'ai appris à configurer des systèmes systemd et j'ai découvert que la hostnamectl set-hostname myhostnamemise à jour automatique du contenu de /etc/hostname(le nom d'hôte statique) n'était donc pas nécessaire pour la première echocommande.
Anthony G - justice pour Monica
Avertissement également sur RAIN existant, les tableaux peuvent-ils également être ajustés? root @ debian: ~ # rm / etc / ssh / ssh_host_ * root @ debian: ~ # dpkg-reconfigure openssh-server Et peut-être aussi
regen
1
@donatello On dirait que vous timedatectlavez la même dépendance envers dbus aussi ... merci de partager votre solution!
Gergely Lukacsy
2

Pour changer le hostanme de votre hôte EC2, vous devez suivre les étapes ci-dessous:

  1. Connectez-vous en tant que root:$: sudo su -
  2. Installez dbus:$: apt-get update && apt-get install -y dbus
  3. Configurer le nom d'hôte: hostnamectl set-hostname <HOSTNAME>

Assurez-vous de changer <HOSTNAME>avec le nom d'hôte que vous souhaitez définir.

lktslionel
la source
0

Nous n'avons pas besoin d'installer de paquet, nous avons juste besoin de modifier le fichier selon votre distribution dans la liste ci-dessous.

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

Modifiez la ligne comme ci-dessous, (la ligne commentée est la ligne d'origine), remplacez {{fqdn}} et {{hostname}} comme ci-dessous.

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

Sinon, définissez "manage_etc_hosts:" sur false comme ci-dessous et vous êtes libre de modifier le fichier / etc / hosts car il cessera de remplacer le fichier hosts.

root@ServerOne:~# cat /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg
apt_preserve_sources_list: true
manage_etc_hosts: true
root@ServerOne:~#
akjprajapati
la source