Debian Jessie pochodzi systemd
. Zaleceniem ustawienia nazwy hosta jest użycie nazwy hosta dla systemd. Jednak to polecenie nie działa (nawet w celu wyświetlenia bieżącej nazwy hosta) na obrazie Debian Jessie uruchomionym na EC2 :
sudo hostnamectl
sudo: unable to resolve host ip-172-30-0-17
Failed to create bus connection: No such file or directory
Próbowałem więc zastosować się do zaleceń Debiana tutaj .
echo "myhostname" > /etc/hostname
echo "127.0.0.1 myhostname" >> /etc/hosts
/etc/init.d/hostname.sh start
/etc/init.d/networking force-reload
Jednak po wylogowaniu i ponownym zalogowaniu nazwa hosta się nie zmienia. Jednak zmienia się po ponownym uruchomieniu, ale nie jest to dla mnie pożądane.
Ta metoda była używana w Debian Wheezy.
Każda pomoc w uzyskaniu tego prawa jest mile widziana.
Odpowiedzi:
Znalazłem problem. Podstawowy AMI na EC2 dla Debian Jessie, nie ma zainstalowanego dbus. wydaje się, że hostnamectl potrzebuje dbus. Więc poprawka polega na:
I wtedy:
To zadziałało.
źródło
hostnamectl set-hostname myhostname
automatycznie aktualizuje zawartość/etc/hostname
(statyczna nazwa hosta), więc nie ma potrzeby wykonywania pierwszegoecho
polecenia.timedatectl
masz taką samą zależność od dbus ... dzięki za udostępnienie swojego rozwiązania!Aby zmienić hosta hosta EC2, należy wykonać następujące kroki:
$: sudo su -
$: apt-get update && apt-get install -y dbus
hostnamectl set-hostname <HOSTNAME>
Pamiętaj o zmianie
<HOSTNAME>
nazwy hosta, którą chcesz ustawić.źródło
W rzeczywistości nie musimy instalować żadnego pakietu, musimy po prostu edytować plik zgodnie z dystrybucją z poniższej listy.
Edytuj wiersz jak poniżej (Skomentowany jest oryginalny wiersz), zastąp {{fqdn}} i {{nazwa hosta}} jak poniżej.
Alternatywnie, ustaw „manage_etc_hosts:” na false, jak poniżej, i możesz modyfikować plik / etc / hosts, ponieważ przestanie on zastępować plik hosts.
źródło