Возможный дубликат:
Как исправить ошибку «getaddrinfo: имя локального хоста или служба не найдена» для telnet-сервера?
Я установил новый Ubuntu 12.04 на экземпляр AWS EC2, и до сих пор все работало нормально. Я следовал инструкциям из этого замечательного руководства: 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
Я думаю, что-то не хватает в моей системе. Кто-нибудь может помочь?
getaddrinfo
- это библиотечная функция стандартной библиотеки C, а не инструмент командной строки. Так что пытаться выполнить это - не совсем верный путь к решению. Вы жестяная банка вызовите getaddrinfo из оболочки Python, если хотите:
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))]
но сомневаюсь, что это поможет вам решить вашу проблему. Вместо этого перейдите по ссылке в комментарии Майкла.
Как исправить ошибку «getaddrinfo: имя локального хоста или служба не найдена» для telnet-сервера?
Я думаю, это должно тебе помочь. Была такая же проблема, и это именно то, что ее вызвало (также есть некоторые скрипты, которые автоматически устанавливают некоторые вещи DNS).