Mac OS X上缺少主机文件 - Xcode无法编译代码

时间:2013-05-14 14:36:24

标签: xcode macos file cat hosts

我试图在Xcode中运行我的第一个Objective-c代码...编译过程成功,但错误返回"无效的主机字符串:' localhost' "

经过一些谷歌搜索,我发现并连接了它可能与我最近删除的主机文件有关的要点。

现在我无法通过终端使用:

重新创建/ etc / hosts

sudo 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

提前感谢任何解决方法。

1 个答案:

答案 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),然后重新启动。

我无法保证这些命令足够或没有错误;远程诊断这样的问题很麻烦。

停止修改系统,而不进行您知道有效的备份或采取其他措施来恢复更改。