重新启动设备后遇到问题:每个“sudo ...”命令都显示“sudo:无法解析主机主机名在这里:名称或服务未知”也
hostname -i
给出了hostname: Name or service not known
。hostname --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 发行版的名称和版本,所以我无法给出任何更详细的建议。