Wie setze ich den Hostnamen für ein Debian Jessie-System?


19

Debian Jessie kommt mit systemd. Die Empfehlung zum Festlegen des Hostnamens lautet hostnamectl für systemd. Dieser Befehl funktioniert jedoch nicht (auch nicht, um den aktuellen Hostnamen anzuzeigen) auf dem Debian Jessie- Image, das auf EC2 gebootet wurde :

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

Also habe ich versucht, Debians Empfehlung hier zu folgen .

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

Nach dem Abmelden und erneuten Anmelden ändert sich der Hostname jedoch nicht. Es ändert sich jedoch nach einem Neustart, aber das ist für mich nicht wünschenswert.

Diese Methode hat in Debian Wheezy funktioniert.

Jede Hilfe bei der Erreichung dieses Ziels wird gebeten.


Antworten:


33

Habe das Problem gefunden. Auf dem Basis-AMI auf EC2 für Debian Jessie ist dbus nicht installiert. hostnamectl scheint dbus zu brauchen. Die Lösung lautet also:

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

Und dann:

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

Das hat funktioniert.


3
Guter Haken bei der dbus-Abhängigkeit. Zu Ihrer Information: Ich habe gelernt, wie man systemd-Systeme konfiguriert, und festgestellt, dass hostnamectl set-hostname myhostnameder Inhalt von /etc/hostname(der statische Hostname) automatisch aktualisiert wird, sodass der erste echoBefehl nicht erforderlich ist .
Anthony G - Gerechtigkeit für Monica

Auch Warnung vor vorhandenem RAIN, können die Arrays auch angepasst werden? root @ debian: ~ # rm / etc / ssh / ssh_host_ * root @ debian: ~ # dpkg-reconfigure openssh-server Und möglicherweise auch initrd neu starten
rzr

1
@donatello Sieht so aus, als ob Sie timedatectldie gleiche Abhängigkeit zu dbus haben ... Danke, dass Sie Ihre Lösung geteilt haben!
Gergely Lukacsy

2

Um die Hostanme Ihres EC2-Hosts zu ändern, müssen Sie die folgenden Schritte ausführen:

  1. Melden Sie sich als root an:$: sudo su -
  2. Installieren Sie dbus:$: apt-get update && apt-get install -y dbus
  3. Setup-Hostname: hostnamectl set-hostname <HOSTNAME>

Stellen Sie sicher, dass Sie <HOSTNAME>den Hostnamen ändern, den Sie festlegen möchten.


0

Wir brauchen eigentlich kein Paket zu installieren, wir müssen nur die Datei wie in der unten stehenden Liste beschrieben bearbeiten.

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

Bearbeiten Sie die Zeile wie folgt (die kommentierte Zeile ist die Originalzeile), ersetzen Sie {{fqdn}} und {{hostname}} wie unten.

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

Alternativ können Sie "manage_etc_hosts:" auf "false" setzen, um die Datei "/ etc / hosts" zu ändern, da sie die Hosts-Datei nicht mehr überschreibt.

root@ServerOne:~# cat /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg
apt_preserve_sources_list: true
manage_etc_hosts: true
root@ServerOne:~#
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.