web-dev-qa-db-ja.com

hostname.serviceの開始に失敗しました:ユニットhostname.serviceはマスクされています

Hostname.serviceの開始に失敗しました:ユニットhostname.serviceはマスクされています。

これはホスト名の更新後に発生し、Sudoサービスのホスト名の開始を試みました。

5
warlockdead

これは、システムがホスト名の検索に失敗するホスト名の不一致がある場合に発生します。

これらのファイルが正しい順序であり、新しいホスト名の適切なエントリを反映していることを確認してください

  1. / etc/hostname
  2. / etc/hosts

古いホスト名は次のとおりです:hostname.oldと新しいものはhostname.new

/etc/hostnameは次のようになります

hostname.new

および/etc/hostsには、次のようなエントリを含める必要があります。

...
127.0.0.1    hostname.new
...
5
anand

両方のホスト名を更新します/etc/hostnameファイルと/etc/hosts実行前のファイルservice hostname restart

Systemd(Ubuntu 16.04など)を実行している新しいシステムでは、次を使用する必要があります。

Sudo hostnamectl set-hostname new-Host-name。ここで、new-Host-nameホスト名。

15

心配する必要はありません。でコンピューター名(ホスト名)の名前を変更しようとしたときに、同じ問題が発生しました。

  • /etc/hostname
  • /etc/hosts

両方のファイルを編集した後、コマンドSudo service hostname restartは同じエラーを返しました。

コンピューターを再起動しただけで、コンピューター名(ホスト名)が正常に変更されました。 マシンを再起動すれば大丈夫です

1
Cs20

最新のDebian Stretch 9.6では、/ etc/hostsを自分で変更し、hostnamectlも使用する必要があります。ここにすべての処理を行う1行のライナーがあります。元のファイルは、最後に日付が追加されて保存されます。たぶん、これは他のディストリビューションでも機能します

Sudo -- bash -c 'echo "Please enter new Hostname"; old=$(hostname);read Host; \
sed -i.$(date "+%H%M%S%d%m%y") -e "s:$old:$Host:g" /etc/hostname;  \
sed -i.$(date "+%H%M%S%d%m%y") -e "s:$old:$Host:g" /etc/hosts; \
hostnamectl set-hostname $Host; echo "Old Name:$old and New Name is:$Host"'

この後、すべての変更を反映するために再起動する必要があります。

0
Jackfritt