当改hosts无法解决hostname报错的问题时(Debian)

这段时间维护服务器发现更新软件包再重启之后hostname变成了(none),虽然之前用apache2一直有提示类似“apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName”这样的错误,但是由于并没有影响apache运行所以也就没怎么在意。

不过还是想知道是啥情况,首先根据网上的说法需要/etc/hosts和/etc/hostname都要一致写入主机名或者域名。
看了下/etc/hosts:

127.0.0.1 localhost
127.0.1.1 debian domain-censored.com

还有/etc/hostname:

debian
domain-censored.com

看上去似乎没有啥问题,特别是类似的配置(主机名、域名不同)的状况下其它VPS似乎没有问题能正确识别主机名,apache2也不报错。
hostname命令提示(none)。而hostname -f命令提示hostname: Name or service not known,apache虽然能正常运行,但是毕竟主机名没有还是不方便,还是希望能修复。

研究了半天尝试了各种方法都不行就差重装了,最后看到了这篇问题,难道问题出现在域名中间的“-”上?虽然里面说了dash符号应该是属于可用的字符才对,不过每个系统不同,所以试着去掉这整个域名,重启之后hostname就正常了……嗯….看起来debian似乎不太兼容hostname里有dash符号,不确定是hosts的问题还是hostname的问题,总之公司那边不打算换域名的前提下也就没办法只能删掉这个hostname用回默认的debian吧,反正apache即便报错也不影响使用就是了。

所以最后的结论就是如果平时发现改hostname导致问题的话,很有可能就是域名中包含了除了点之外的特殊符号比如这次的破折号,目前似乎无解,倒是希望debian之后能修复这个问题。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

:b1 :b2 :b3 :b4 :b5 :b6 more »

Note: Commenter is allowed to use '@User+blank' to automatically notify your reply to other commenter. e.g, if ABC is one of commenter of this post, then write '@ABC '(exclude ') will automatically send your comment to ABC. Using '@all ' to notify all previous commenters. Be sure that the value of User should exactly match with commenter's name (case sensitive).

This site uses Akismet to reduce spam. Learn how your comment data is processed.