web-dev-qa-db-ja.com

ホスト名を取得する理由:名前またはサービスが不明なエラーですか?

apt-get経由でパッケージをインストールすると、このエラーが発生します。

hostname: Name or service not known
dpkg: error processing ssmtp (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up libt1-5 (5.1.2-3.4ubuntu1) ...
Setting up php5-Gd (5.3.10-1ubuntu3.2) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Errors were encountered while processing:
 ssmtp
E: Sub-process /usr/bin/dpkg returned an error code (1)

なぜこれが起こっているのですか?

23
batman

解決:

(これらの種類の問題には良い解決策はありません。しかし、一部のhaking-ishのみ)

まず、ターミナルでこのコマンドを試してください:

Sudo apt-get -f install

動作しない場合は、haking-ishソリューションで処理します。

ssmtpの構成スクリプトを一時的に移動してみてください。

  1. ターミナルを開いてこのコマンドを実行し、現在のディレクトリに移動します

     Sudo mv /var/lib/dpkg/info/ssmtp* .
    
  2. 次に、apt-getを使用してみてください

問題の原因:

以前のインストールまたは削除が正常に完了せず、ssmtpパッケージに対していくつかの構成手順が実行されない場合があります。 dpkgは最初にステップを完了するまで進行しないため、その後のapt-getの使用はそのステップにとどまります。

10
Anwar

hostname --fqdnを実行します

エラーが発生した場合は、適切なホスト名で/ etc/hostnameおよび/ etc/hostsを編集します。

次に、aptitude install ssmtpを再度インストールしてインストールします。

18
croaker___

誰もが知っているように、/ etc/hostsの編集は、server.exmaple.comでetc/hostnameが正しいトリックを実行した

しかし、ホストは正しくありませんでした

127.0.0.1 localhost
127.0.0.1 server

これに変更します:

127.0.0.1 localhost.localdomain  localhost
192.168.xxx.xxx  server.example.com   server

Hostname -fおよびhostname --fqdnを実行すると、次の結果が得られました。

server.example.com

誰もが知りたいと思っただけです。

13
nexusguy59

インターネット接続が適切に機能していない可能性があります。具体的には、DNSが適切に解決されていないと思います。

行を追加してみてください

nameserver 80.80.80.80 

/etc/resolv.conf

これにより、(次のブートまで)freenom DNSサーバーが一時的に追加されます。

3
user61664

今朝このエラーに遭遇しましたが、/etc/hostnameでホスト名のスペルが間違っていることがわかりました。 /etc/hostsのホスト名のスペルと一致するようにこれを修正して、問題を解決しました。 hostname -b -F /etc/hostname/etc/hostnameが同意しない限り、ブート時に実行される/etc/hostsコマンドは明らかに完了できません。

1

Ubuntuシステムのホームネットワークで、ネットワークにDHCPサーバーとDNSサーバーを組み合わせて提供するルーターから動的に割り当てられたIPアドレスを持つメッセージを受信しました。

メッセージ:hostname: Name or service not knownは、そのようなデバイスが一瞬だけダウンした場合に発生する可能性があります。

たとえば、電源が切れたときにホームルーターを再起動すると、これが発生する可能性があります。

ここでの問題は、ネットワークが依存しているDHCPサービスが、割り当てたすべてのIPアドレスと関連するドメイン名を忘れるということです。お使いのコンピューターが、関連付けられたDNSサーバーの名前を確認すると、サーバーにはその名前がありません。一部のDHCPサーバーは、ディスクまたはフラッシュメモリに行った割り当てを書き込むことで問題を回避できるため、再起動しても何も失われません。


サーバーは通常、システムのDHCP要求からcomputernameを取得し、それをcomputername。localにしてレコードに保存し、関連するDNSサーバーで同時に利用できるようにします。通常hostname -fqdnは、DNSサーバーからネットワーク経由で完全なドメイン名を要求し、レコードがある場合はその名前を返します。 .local接尾辞により、有効な完全修飾ドメイン名のように見えます(ただし、実際には有効なグローバルドメイン名ではありません)。これが、/ etc/hostsまたは/ etc/hostnameファイルでドメイン名を手動で指定する必要がない場合があるためです。


DHCPサーバーを再起動すると、IPアドレスが複数のコンピューターに同時に割り当てられ、一部のコンピューターが通信できなくなるため、さらに問題が発生する可能性があります。アドレスは、サーバーが再起動する前に一度割り当てられ、再起動後に再び割り当てられます。

DHCPサーバーがその割り当てを忘れた場合、安全なことは、再起動したときにサービスを提供する各コンピューターを再接続することです。私が私のものを失ったとき、私は単に私の無線LANアクセスポイントに切断して再接続しました。有線ネットワークでは、ifdownおよびifupを使用するか、単にネットワークケーブルを切断して再接続することができます。システムを再接続すると、自動的にdhclientを使用して新しいアドレスが取得されます。私のコンピューターとサーバーは、私が誰であるかを同意し、メッセージは表示されなくなりました。

十分に長く待つと、DHCPリースがタイムアウトし、システムがサーバーに新しいリースを要求して取得します(問題を解決します)。これはおそらく数時間または数日後です(私のサーバーでは1日です)。

静的IP名とアドレスを定義していて、DNS逆引き参照レコードが正しい場合、問題は発生しません。

1
John S Gruber