0

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

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

现在我无法通过终端重新创建 /etc/hosts 使用:

须藤猫>/etc/hosts <

#

主机数据库

#

localhost 用于配置环回接口

系统启动时。不要更改此条目。

#

127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost fe80::1%1o0 localhost EOD sudo: /private/etc/sudoers 是模式 0666,应该是 0440

提前感谢任何解决方法。

4

1 回答 1

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 命令。在重新启动命令之前,使用 cat(或 cp 从您之前准备的文件中复制)重新创建 /etc/hosts,然后执行 chown 和 chmod 命令(不带 sudo),然后重新启动。

我不能保证这些命令就足够或没有错误;远程诊断诸如此类的问题很麻烦。

停止修补您的系统,而无需进行您知道有效的备份或采取其他步骤来恢复您的更改。

于 2013-05-14T14:49:33.953 回答