当前位置: 首页>>技术教程>>正文


为什么我会收到主机名:名称或服务未知错误?

, ,

问题描述

每当我通过 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)

为什么会这样?

最佳方案

运行 hostname --fqdn

如果出现错误,请使用正确的主机名编辑 /etc/hostname 和 /etc/hosts。

然后 aptitude install ssmtp 再次安装。

次佳方案

编辑 /etc/hosts 成功了。文件 /etc/hostname 正确,仅包含 server.exmaple.com

但是主持人不正确

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

第三种方案

解决方案:

(这类问题没有很好的解决方案。但只有一些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 的后续使用现在卡在该步骤上。

第四种方案

您的互联网连接很可能无法正常工作。具体来说,我认为您的 DNS 解析不正确。

尝试添加该行

nameserver 80.80.80.80 

到您的 /etc/resolv.conf

这将临时添加 freenom DNS 服务器(直到下次启动)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12804.html,未经允许,请勿转载。