我试图在Xcode中运行我的第一个Objective-c代码...编译过程成功,但错误返回"无效的主机字符串:' localhost' "
经过一些谷歌搜索,我发现并连接了它可能与我最近删除的主机文件有关的要点。
现在我无法通过终端使用:
重新创建/ etc / hostssudo cat> / etc / hosts<
#
主机数据库
#
localhost用于配置Loopback接口
系统启动时。请勿更改此条目。
#
127.0.0.1 localhost 255.255.255.255 broadcasthost :: 1 localhost fe80 :: 1%1o0 localhost EOD sudo:/ private / etc / sudoers是模式0666,应该是0440
提前感谢任何解决方法。
答案 0 :(得分:0)
您通过进行不当更改破坏了系统。
首先,您需要修复/ etc / sudoers上的权限。您可以尝试打开“磁盘工具”,选择系统卷,然后单击“修复磁盘权限”。我不确定是否会更改sudoers权限。如果没有,请重新启动系统并立即按住Command和S键。这将引导至单用户模式。出现命令提示符时,请输入以下命令:
mount -uw /
chmod 0666 /etc/sudoers
reboot
当系统启动时,如果你没有破坏它,你的sudo命令可能会再次运行。此时,您可以重新创建/ etc / hosts。除了恢复其内容外,您可能还需要设置其所有权和权限:
sudo chown root:wheel /etc/hosts
sudo chmod u=rw,go=r /etc/hosts
您还可以在单用户模式下还原/ etc / hosts,而不是使用sudo命令正常启动。在reboot命令之前,使用cat(或cp从您之前准备的文件中复制)来重新创建/ etc / hosts,然后执行chown和chmod命令(不带sudo),然后重新启动。
我无法保证这些命令足够或没有错误;远程诊断这样的问题很麻烦。
停止修改系统,而不进行您知道有效的备份或采取其他措施来恢复更改。