我正在使用 Linode 全新安装的 Debian Squeeze,看起来 hostname 的行为与 lenny 不同,这导致某些其他软件包不满意。即:
clements@debian:/tmp/npm$ hostname -A
li228-113.members.linode.com
clements@debian:/tmp/npm$ hostname -f
hostname: Name or service not known
clements@debian:/tmp/npm$
此行为与较旧的 (lenny) 安装不同,其中 hostname -f 不会发出错误信号。阅读手册页后,我发现 squeeze 不太喜欢 -f 选项,因为机器可以有多个 fqdns。这对我来说没问题,但像 make-ssl-cert 这样的软件包对此很不满:
Setting up ssl-cert (1.0.28) ...
hostname: Name or service not known
make-ssl-cert: Could not get FQDN, using "debian".
make-ssl-cert: You may want to fix your /etc/hosts and/or DNS setup and run
make-ssl-cert: make-ssl-cert generate-default-snakeoil --force-overwrite
make-ssl-cert: again.
我犹豫着是否要编辑 /etc/hosts;我的 lenny VPS 不需要这样做,而且我觉得这里也不需要这样做。
非常感谢您的任何建议。
答案1
如果您使用 FQDNFQDN(完全限定域名),则 FQDN 应该位于 /etc/hosts 中的短名称之前。正确
127.0.1.1 ubuntu-1010-server-01.local ubuntu-1010-server-01
错误的;
127.0.1.1 ubuntu-1010-server-01 ubuntu-1010-server-01.local
或者运行:
sudo make-ssl-cert generate-default-snakeoil --force-overwrite