Tobias von Falkenhayn Asked: 2022-02-24 07:04:46 +0800 CST2022-02-24 07:04:46 +0800 CST 2022-02-24 07:04:46 +0800 CST 在 Linux 中使用二进制设置主机名和在文件中设置主机名之间的区别 772 在 Linux 中,我可以按如下方式更改主机名: sudo hostname <hostname> 此外,我可以更改/etc/hostnameand/etc/hosts文件中的主机名。 我的问题是:如果我更改文件中的主机名,我还需要打电话sudo hostname <hostname>吗?除了更改/etc/hostname文件中的主机名之外,此命令还有什么作用? linux hostname 1 个回答 Voted Best Answer user1686 2022-02-24T07:51:31+08:002022-02-24T07:51:31+08:00 “活动”主机名实际上存储在内核中。程序不直接使用 /etc/hostname;该文件仅在引导时读取一次以初始化内核主机名。 具体来说,在 Linux 上,'hostname' 命令将设置 sysctl 参数kernel.hostname(通过写入/proc/sys/kernel/hostname),所有程序都将在那里查找系统的当前主机名。 很可能它以这种方式工作是出于历史原因——Unix 程序长期以来一直使用uname()来获取当前主机名和操作系统版本,并且 uname() 长期以来一直是内核系统调用,所以即使内核对主机名的作用不大,它仍然会存储并返回它。
“活动”主机名实际上存储在内核中。程序不直接使用 /etc/hostname;该文件仅在引导时读取一次以初始化内核主机名。
具体来说,在 Linux 上,'hostname' 命令将设置 sysctl 参数
kernel.hostname
(通过写入/proc/sys/kernel/hostname
),所有程序都将在那里查找系统的当前主机名。很可能它以这种方式工作是出于历史原因——Unix 程序长期以来一直使用uname()来获取当前主机名和操作系统版本,并且 uname() 长期以来一直是内核系统调用,所以即使内核对主机名的作用不大,它仍然会存储并返回它。