我有一个运行多个网站的networking服务器。
当我ssh进入,它给了我一个标签名称的[email protected],这是违反直觉,使得它看起来像这些选项卡在我的本地主机上。
我想改变主机名,但我想确保它不会破坏别的东西。
那么为了这个主机名string的用途,我怎样才能确定它不会影响任何正常运行的系统呢?
我相信唯一可以直接访问/ etc / hostname的是启动脚本/etc/init.d/hostname.sh。
您的apacheconfiguration可能取决于主机名是一件特定的事情。 当你设置Apache时,你是否使用了你的configuration中的IP地址或者是/ etc / hostname中的名字。
如果你有一个邮件服务器设置,它也可以使用/ etc / hostname中的名字。 虽然localhost.localdomain是/ etc / hostname中的内容,但是我怀疑你的电子邮件系统已经被部分破坏了。
我相信它应该是相当安全的更改文件。 更改文件,运行/etc/init.d/hostname.sh,然后重新启动像Apache一样运行的任何服务。 如果有问题,修复应该只是对一些configuration文件的轻微修改。
如果你真的偏执狂,你可以将生产系统复制到虚拟机中,在虚拟机中进行更改,然后查看什么是中断。 如果你现在还没有一个testing环境可能是设置一个testing环境的好时机。
虽然主机名是在/ etc / hostname中定义的,但许多进程将使用DNS和/或主机文件来确定主机名。 所以你可以试着查看/ etc / hosts,并检查/etc/resolv.conf中列出的名称服务器来查看定义的内容。
你遇到的问题可能在/ etc / hosts中。 这是查找地址的地方。 应该有一个input你的服务器的IP地址。 回退是使用环回地址localhost @ localdomain。
有关命名主机的最佳实践,请参见http://www.faqs.org/rfcs/rfc1178.html 。 / etc / hostname用于在starup中填充内核名称。 将不合格的名称放在/ etc / hostname中并运行“sudo /etc/init.d/hostname start”。 还要使用/ etc / hosts中的接口地址为/ etc / hosts中的主机名添加一个条目。
邮件服务器应该使用/ etc / mailname来确定它的名字。 这应该是一个完全合格的地址,例如myhost.example.com。
根据/etc/nssswitch.conf文件中的configuration,您可以在调用其他系统(通常是DNS)之前将其用于域名parsing。
hosts: files dns
该指示首先应该使用本地文件(/ etc / hosts)然后查询DNS。
所以通常情况下,在查询DNS之前,系统将首先通过/ etc / hosts路由所有的主机名查询。