Linux 登录时显示的主机名(无)

Linux 登录时显示的主机名(无),linux,hostname,Linux,Hostname,我是Linux环境的新手,使用BusyBox从头开始构建Linux系统。我创建了/etc/hosts和/etc/hostname文件。但每次启动系统时,它都会显示(无)登录: 但我可以在登录后使用hostname命令更改主机名。我不希望DNS服务器提供任何FQDN主机名或动态主机名配置。主机名文件的内容包括:- $cat/etc/hosts 127.0.0.1 localhost 127.0.1.1 tiny $cat/etc/hostname tiny 程序或文件是否有错误。非常感

我是Linux环境的新手,使用BusyBox从头开始构建Linux系统。我创建了/etc/hosts和/etc/hostname文件。但每次启动系统时,它都会显示(无)登录: 但我可以在登录后使用hostname命令更改主机名。我不希望DNS服务器提供任何FQDN主机名或动态主机名配置。主机名文件的内容包括:-

$cat/etc/hosts

127.0.0.1   localhost
127.0.1.1   tiny
$cat/etc/hostname

tiny

程序或文件是否有错误。非常感谢您的帮助。

也许您的IP地址不是真正的127.0.1.1(看起来不太可能)


在大多数Linux系统上,您都有这个工具,它可以显示您的IP地址。我将检查ifconfig显示的IPv4地址是否与/etc/hosts文件中为“tiny”指定的IP地址匹配,并将其修改为匹配。完成此操作后,您应该能够ping“tiny”以验证主机文件是否已更新。当然,要验证主机名是否将被使用,需要重新启动。

您很可能是以正确的方式进行的,只需重新启动系统
sudo reboot
(或者以root用户身份重新启动
或重新加载网络即可

在Ubuntu和其他Debian变体上,您是正确的-您需要更新
/etc/hostname
/etc/hosts
。要重新加载网络:
服务网络重新加载
调用rc.d网络强制重新加载

在Fedora/CentOS和其他Red Hat变体上,可以使用
hostnamectl
程序设置主机名。重新加载网络:
/etc/init.d/network reload

在Android上,我相信您需要的命令是:
setprop net.hostname

此外,您还可以将
/etc/hostname
中的条目组合为:

127.0.0.1 localhost tiny

设置
/etc/hostname
/etc/hosts
对我的嵌入式arm Linux设备不起作用。相反,我将这一行放在开始脚本中:

echo tiny > /proc/sys/kernel/hostname

您的机器是127.0.0.1和127.0.1.1还是您输入了错误?请参阅我的答案,了解如何在一行和每个操作系统步骤上组合条目。我从一个正在工作的ubuntu系统复制了配置,它是这样的:-
127.0.0.1 localhost
127.0.1.1 satchit.xyz satchit
安装后就是这样。将其切换到我在回答中建议的单行布局:
127.0.0.1 localhost tiny解决了这个问题。。因为它是一个最小的系统。必须在初始化脚本中添加默认主机名设置。而且它还没有任何接口配置。