web-dev-qa-db-fra.com

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

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 Debian Jessie image 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.

19
donatello

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

Et alors:

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

Cela a fonctionné.

33
donatello

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. Nom d'hôte de configuration: hostnamectl set-hostname <HOSTNAME>

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

2
lktslionel

Nous n'avons pas besoin d'installer de paquet, nous avons juste besoin d'éditer 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:~#
0
akjprajapati