Kzqai Asked: 2010-03-13 15:02:18 +0800 CST2010-03-13 15:02:18 +0800 CST 2010-03-13 15:02:18 +0800 CST debian 服务器上 /etc/hostname 中的主机名在哪里使用? 772 我有一个运行多个网站的网络服务器。 当我 ssh 进入时,它给了我一个用户名@localhost.localdomain 的选项卡名称,这是违反直觉的,使这些选项卡看起来像是在我的本地主机上。 我想更改主机名,但我想确保它不会破坏其他任何东西。 那么该主机名字符串用于什么目的,我如何确定它不会影响任何正常运行的系统? linux ssh hostname 4 个回答 Voted Zoredache 2010-03-13T15:20:34+08:002010-03-13T15:20:34+08:00 我相信唯一应该直接访问/etc/hostname的是启动脚本/etc/init.d/hostname.sh。 您的 apache 配置可能取决于主机名是特定的东西。当您设置 apache 时,您是否在配置中使用了 IP 地址或 /etc/hostname 中的名称。 如果您有一个邮件服务器设置,它也可以使用 /etc/hostname 中的名称。虽然 localhost.localdomain 是 /etc/hostname 中的内容,但我怀疑您的电子邮件系统已经部分损坏。 我相信更改文件应该是相当安全的。更改文件,运行 /etc/init.d/hostname.sh 然后重新启动您正在运行的任何服务,例如 apache。如果有问题,修复应该只是对几个配置文件的小编辑。 如果您真的很偏执,您可以将生产系统复制到 VM 中,在 VM 中进行更改,然后查看发生了什么故障。如果您现在还没有测试环境,可能是建立一个测试环境的好时机。 Walter 2010-03-17T22:47:53+08:002010-03-17T22:47:53+08:00 虽然主机名在 /etc/hostname 中定义,但许多进程将使用 DNS 和/或主机文件来确定主机名。因此,您可以尝试查看 /etc/hosts 并检查 /etc/resolv.conf 中列出的名称服务器以查看定义的内容。 BillThor 2010-03-19T17:48:56+08:002010-03-19T17:48:56+08:00 您遇到的问题是 /etc/hosts 中的 likley。这是查找地址的地方。您的服务器 IP 地址应该有一个条目。回退是使用环回地址,localhost@localdomain。 有关命名主机的最佳实践,请参阅http://www.faqs.org/rfcs/rfc1178.html 。/etc/hostname 用于在启动期间在内核中填充然后命名。将非限定名称放入 /etc/hostname 并运行“sudo /etc/init.d/hostname start”。还使用 /etc/hosts 中的接口地址在 /etc/hosts 中为您的主机名添加一个条目。 邮件服务器应使用 /etc/mailname 来确定其名称。这应该是一个完全限定的地址,例如 myhost.example.com。 Alex 2010-03-19T16:48:20+08:002010-03-19T16:48:20+08:00 根据 /etc/nssswitch.conf 文件中的配置,您可以在调用不同的系统(通常是 DNS)之前将其用于域名解析。 hosts: files dns 这表明它首先应该使用本地文件(/etc/hosts)然后查询 DNS。 因此,通常,系统会先通过 /etc/hosts 路由所有主机名查询,然后再查询 DNS。
我相信唯一应该直接访问/etc/hostname的是启动脚本/etc/init.d/hostname.sh。
您的 apache 配置可能取决于主机名是特定的东西。当您设置 apache 时,您是否在配置中使用了 IP 地址或 /etc/hostname 中的名称。
如果您有一个邮件服务器设置,它也可以使用 /etc/hostname 中的名称。虽然 localhost.localdomain 是 /etc/hostname 中的内容,但我怀疑您的电子邮件系统已经部分损坏。
我相信更改文件应该是相当安全的。更改文件,运行 /etc/init.d/hostname.sh 然后重新启动您正在运行的任何服务,例如 apache。如果有问题,修复应该只是对几个配置文件的小编辑。
如果您真的很偏执,您可以将生产系统复制到 VM 中,在 VM 中进行更改,然后查看发生了什么故障。如果您现在还没有测试环境,可能是建立一个测试环境的好时机。
虽然主机名在 /etc/hostname 中定义,但许多进程将使用 DNS 和/或主机文件来确定主机名。因此,您可以尝试查看 /etc/hosts 并检查 /etc/resolv.conf 中列出的名称服务器以查看定义的内容。
您遇到的问题是 /etc/hosts 中的 likley。这是查找地址的地方。您的服务器 IP 地址应该有一个条目。回退是使用环回地址,localhost@localdomain。
有关命名主机的最佳实践,请参阅http://www.faqs.org/rfcs/rfc1178.html 。/etc/hostname 用于在启动期间在内核中填充然后命名。将非限定名称放入 /etc/hostname 并运行“sudo /etc/init.d/hostname start”。还使用 /etc/hosts 中的接口地址在 /etc/hosts 中为您的主机名添加一个条目。
邮件服务器应使用 /etc/mailname 来确定其名称。这应该是一个完全限定的地址,例如 myhost.example.com。
根据 /etc/nssswitch.conf 文件中的配置,您可以在调用不同的系统(通常是 DNS)之前将其用于域名解析。
这表明它首先应该使用本地文件(/etc/hosts)然后查询 DNS。
因此,通常,系统会先通过 /etc/hosts 路由所有主机名查询,然后再查询 DNS。