GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu – / usr / bin/hostは再起動後も/etc/ hostsへの変更を取得しませんか?

Ubuntu Server 12.04(amd64)を使用しています )/etc/hostsを変更したときにそのマシン 、再起動した後でも、変更は反映されません。 /usr/bin/hostを使用しています テストする必要がありますが、他のどのプログラムもそれを検出していないようです。

これはサーバーであり、nscd およびdnsmasq インストールされていません。また、ファイル/etc/nsswitch.conf 次の行が含まれています:

hosts:          files dns

私はそれが機能することを期待するように。 mtimeも確認しました 編集中にファイルの変更を確認し、service networking restartを実行してみました (すべてのオッズに対して)そしてresolvconf -u

rootとして実行されるすべてのコマンド 必要に応じて。マシンのネットワークは/etc/network/interfacesで手動で構成されています Network Manager経由ではありません(どちらもインストールされていません)。

基本的に私が達成したいのは、いくつかのホストのIPを操作できることです。その理由は、ネットワーク内でルートのないIPを取得していますが、HTTPS経由でそのサービスの外部IPを使用できるためです。

何が足りないのですか?

注: ローカルで実行されているDNSサーバーはなく、nameserver /etc/resolv.confの行 (およびinterfacesのそれぞれの行 )間違ったIPを提供するDNSサーバーをポイントします。

注意: ウェブで検索して「同様の質問」を読みましたが、私のケースはカバーされていないようです。

/etc/host.conf は:

# The "order" line is only used by old versions of the C library.
order hosts,bind
multi on

承認された回答:

hostコマンドはhostsファイルをチェックしません。マンページから:

host is a simple utility for performing DNS lookups.

ホストファイルを尊重しながらルックアップをテストする場合は、pingまたはgetentを使用します。

$ tail -1 /etc/hosts
127.0.0.1   google.com
$ ping -c1 google.com | head -1
PING google.com (127.0.0.1) 56(84) bytes of data.
$ getent ahosts google.com
127.0.0.1       STREAM google.com
127.0.0.1       DGRAM  
127.0.0.1       RAW    

Ubuntu
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Linux – / usr/binと/usr/sbinを/bin(gnu / linux)にマージしますか?

  3. 「キャッシュディレクトリ/home//.composer/cache/repo/https—packagist.org/を作成できません。または、ディレクトリが書き込み可能ではありません。キャッシュなしで続行しますか?」

  1. バイナリを /bin、/sbin、/usr/bin、および /usr/sbin にインストールし、 --prefix および DESTDIR と対話します

  2. #!/usr/bin/env bash と #!/usr/bin/bash の違いは何ですか?

  3. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?

  1. /bin と /usr/bin の違い

  2. /bin の内容を /usr/bin に移動しました。元に戻すことはできますか?

  3. /etc/hosts と /etc/resolv.conf の違い