当主机名写入 /etc/hosts 和 /etc/hostname 时,出现“主机名:名称或服务未知”

当主机名写入 /etc/hosts 和 /etc/hostname 时,出现“主机名:名称或服务未知”

重新启动设备后遇到问题:每个“sudo ...”命令都显示“sudo:无法解析主机主机名在这里:名称或服务未知”也
hostname -i给出了hostname: Name or service not knownhostname --fqdn

/etc/hostname包含正确的主机名
/etc/hosts包含以下内容:

127.0.0.1   localhost
::1     localhost ip6-localhost ip6-loopback
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters

127.0.1.1   *right hostname here*

我唯一的线索是hostname -I返回192.168...ip 地址。我不知道为什么。也许是因为我通过 ssh 隧道连接。
在这里做什么才是正确的?

grep hosts: /etc/nsswitch.conf返回:

grep: /etc/nsswitch.conf: Structure needs cleaning

答案1

grep: /etc/nsswitch.conf: Structure needs cleaning

这表明您的根文件系统可能需要进行文件系统检查:它可能已损坏。因为这是你的文件系统,如果不将系统引导到紧急模式(这将使根文件系统处于卸载或只读模式)或从某些外部介质引导,您很可能无法检查它。

这些过程很可能需要某种形式的控制台访问设备;SSH 隧道可能无法工作,因为sshd当根文件系统处于只读模式时无法运行。

你应该绝不对以读写模式挂载的文件系统运行文件系统检查,除非您绝对、肯定知道特定的文件系统类型允许它。

由于您没有指定“设备”的性质,也没有指定所使用的 Linux 发行版的名称和版本,所以我无法给出任何更详细的建议。

相关内容