web-dev-qa-db-ja.com

resolv.confを削除しました。どうすれば元に戻すことができますか。

Sudo gedit /etc/network/interfacesによってサーバー上のDHCP IPアドレスを静的に変更し、ファイルを編集して保存しました。

次にresolv.confを変更しましたが、その後空白になり、再起動するたびに空白になりました。

その後、誤って削除しました。

apt-getまたはaptitudeを使用して何もインストールできなくなりました。

2
John Moore

/etc/resolv.confは、/run/resolvconf/resolv.conf(ファイルresolvconfへのシンボリックリンク)へのシンボリックリンクの場合、resolvconfによって再起動時に自動的に生成されます。作成または編集する必要はありません。 。次の構文を使用して、ネームサーバーを/etc/network/interfacesに配置すると、/etc/resolv.confに自動的に追加されます。

dns-nameservers <IP_address> <IP_address> <IP_address>

例えば:

dns-nameservers 8.8.8.8 8.8.4.4

静的IP構成ブロックの最後にこの行を追加する必要があります。

シンボリックリンク/etc/resolv.confを削除した場合は、Sudo dpkg-reconfigure resolvconfを実行すると、再び設定するための一連の質問が表示されます。 rebootを実行するか、次を実行します。

Sudo ifdown eth0 && Sudo ifup eth0  ##Change interface name accordingly

すべてがうまくいくはずです。

7
heemayl

シンボリックリンク/etc/resolv.conf -> ../run/resolvconf/resolv.confを復元するには、コマンドプロンプトでSudo dpkg-reconfigure resolvconfコマンドを実行します。

ifupユーティリティ(構成ファイルは/etc/network/interfaces)を使用してインターネットに面したネットワークインターフェイスを構成している場合は、/etc/network/interfacesの対応するスタンザにネームサーバー情報を追加します。通常、これには、少なくともdns-nameserversオプションを問題のスタンザに追加する必要があります。例えば。、

iface eth0 inet static
    address 192.168.22.33
    netmask 255.255.255.0
    dns-nameservers 192.168.22.1

次に、ifup eth0を実行すると、resolvconfによってアドレス192.168.22.1resolv.confに追加されます(オプション行:nameserver 192.168.22.1)。

1
jdthood

以下を実行することもできます:

Sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf

シンボリックリンクを復元します。

1
Kurt