Debian Jessieシステムのホスト名を設定する方法は?


19

Debian Jessieにはが付属していsystemdます。ホスト名を設定するための推奨事項は、systemdにhostnamectlを使用することです。ただし、EC2でブートされたDebian Jessie イメージでは、このコマンドは機能しません(現在のホスト名を表示する場合でも)。

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

そこで、ここでDebianの推奨を進めようとしました

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

ただし、ログアウトして再度ログインした後、ホスト名は変更されません。ただし、再起動後に変更されますが、それは望ましくありません。

この方法は、Debian Wheezyで使用されていました。

これを正しくするための助けをいただければ幸いです。


回答:


33

問題が見つかりました。Debian JessieのEC2のベースAMIには、dbusがインストールされていません。hostnamectlにはdbusが必要なようです。したがって、修正は次のとおりです。

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

その後:

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

これはうまくいきました。


3
dbus依存関係を十分に把握してください。参考までに、systemdシステムの構成方法を学びhostnamectl set-hostname myhostname/etc/hostname(静的ホスト名)の内容を自動的に更新することを発見したため、最初のechoコマンドは不要です。
アンソニーG-モニカの正義

既存のRAINに関する警告もありますが、配列も調整できますか?root @ debian:〜#rm / etc / ssh / ssh_host_ * root @ debian:〜#dpkg-reconfigure openssh-serverそして多分initrdを再
生成する-rzr

1
@donatello timedatectldbusにも同じ依存関係があるようです...ソリューションを共有してくれてありがとう!
Gergely Lukacsy

2

EC2ホストのホストを変更するには、以下の手順に従う必要があります。

  1. ルートとしてログイン:$: sudo su -
  2. dbusをインストールします。$: apt-get update && apt-get install -y dbus
  3. ホスト名のセットアップ: hostnamectl set-hostname <HOSTNAME>

<HOSTNAME>設定するホスト名で必ず変更してください。


0

実際にパッケージをインストールする必要はありません。以下のリストのディストリビューションに従ってファイルを編集するだけです。

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

以下のように行を編集し(コメントされている行は元の行です)、{{fqdn}}と{{hostname}}を以下のように置き換えます。

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

または、以下のように「manage_etc_hosts:」をfalseに設定すると、hostsファイルの上書きが停止するため、/ etc / hostsファイルを自由に変更できます。

root@ServerOne:~# cat /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg
apt_preserve_sources_list: true
manage_etc_hosts: true
root@ServerOne:~#
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.