web-dev-qa-db-ja.com

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

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

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

それで、私はDebianの推奨事項 here を進めようとしました。

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で使用されていました。

これを正しくするためのどんな助けでもありがたいです。

19
donatello

問題が見つかりました。 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

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

33
donatello

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

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

<HOSTNAME>は、設定するホスト名に変更してください。

2
lktslionel

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

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に設定すると、/ etc/hostsファイルを変更して、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