0

初めての Objective-C コードを Xcode で実行しようとしました... コンパイル プロセスは成功しましたが、「無効なホスト文字列: 'localhost'」というエラーが返されます。

グーグルで調べた後、最近削除したホストファイルと関係がある可能性があることを見つけて接続しました。

現在、次を使用してターミナルから /etc/hosts を再作成できません。

sudo 猫 >/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

通常の方法で起動して sudo コマンドを使用するのではなく、シングル ユーザー モードで /etc/hosts を復元することもできます。再起動コマンドの前に、cat (または cp を使用して前に準備したファイルからコピー) を使用して /etc/hosts を再作成し、chown および chmod コマンドを (sudo なしで) 実行してから再起動します。

これらのコマンドで十分であること、またはエラーがないことを保証することはできません。このような問題をリモートで診断するのは面倒です。

機能することがわかっているバックアップを作成したり、変更を元に戻すための他の手順を実行したりせずに、システムをいじるのをやめてください。

于 2013-05-14T14:49:33.953 に答える