
コマンドlast
(およびlast -i
) はほんの一瞬で実行できますが、 を実行するとlast -d
、私のテストによるとなんと5分22秒もかかります。
参考までに、-d
フラグを追加すると次のようになります。
-d For non-local logins, Linux stores not only the host name of the remote host but its IP number as well. This option translates the IP number back into a hostname.
マニュアル ページには、それほど多くの時間がかかるという説明はありません。マニュアルにもあるように、Linux は既に IP を保存しているので、その場でホスト名に基づいて IP の逆引き検索を行う必要はありません。さらに、:0
(ローカル ログイン) のホスト名値が の「IP アドレス」値を返すことを「検索」しているときでさえ、時間がかかります0.0.0.0
。
この-d
フラグはすべてのコンピューターで遅いのでしょうか、それとも私のコンピューターだけでしょうか? これは、どこかのファイルが破損していて、アクセスできないか読み取りが困難であることを示しているのでしょうか?
参考までに、私は32 ビット Ubuntu 13.10(まだアップグレードしていません)。
答え1
の DNS 検索順序は何ですか?最初のオプションは次のように/etc/nsswitch.conf
なります:-files
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
システム内の検索順序を確認する価値があるかもしれません。
同じテストを実行したところ、47 秒という結果になりましたlast -d
。
その後、0.0.0.0 localhost
を追加した/etc/hosts
ところ、実行時間はわずか 0.031 秒になりましたlast -d
。
注 - sinceは削除しました0.0.0.0
。ウィキペディアによるとそこに置くのは無効です。