![getaddrinfo:未找到命令](https://linux22.com/image/796939/getaddrinfo%EF%BC%9A%E6%9C%AA%E6%89%BE%E5%88%B0%E5%91%BD%E4%BB%A4.png)
我在 AWS EC2 实例上安装了新的 Ubuntu 12.04,到目前为止一切运行正常。我按照这个很棒的教程中的说明进行操作:http://www.exratione.com/2012/05/a-mailserver-on-ubuntu-1204-postfix-dovecot-mysql/
现在我正处于“安装 monit”的阶段,当我重新启动服务时,我收到此错误消息:
monit: Cannot translate '(none)' to FQDN name -- Name or service not known
我开始谷歌搜索,有人在那里写道,monit 在启动过程中使用 getaddrinfo 来确定主机名。好吧,所以我想自己试试 getaddrinfo 传递了什么,然后我得到了:
getaddrinfo: command not found
我猜我的系统缺少了一些东西。有人能帮忙吗?
答案1
getaddrinfo
是标准 C 库中的库函数,而不是命令行工具。因此尝试执行它并不是解决问题的正确方法。您能如果需要,可以从 python shell 调用 getaddrinfo :
dennis@lightning:~$ python
>>> import socket
>>> socket.getaddrinfo('localhost', None)
[(2, 1, 6, '', ('127.0.0.1', 0)), (2, 2, 17, '', ('127.0.0.1', 0)), (2, 3, 0, '', ('127.0.0.1', 0))]
但我怀疑这是否能帮助你解决问题。相反,请点击 Michael 评论中的链接。
答案2
如何修复 telnet 服务器的“getaddrinfo:未找到 localhost 名称或服务”?
我认为这应该对你有帮助。我遇到了同样的问题,这正是导致问题的原因(还有一些脚本会自动设置一些 DNS 内容)。