Я изо всех сил пытался выяснить причину, по которой утилита хоста linux игнорировала мой файл / etc / hosts, пока не нашла здесь ответ на свой вопрос: файл hosts игнорируется :
С такой конфигурацией большинство приложений будут без проблем работать с вашей записью из /etc/hosts. Однако хост не просматривает /etc/nsswitch.conf. Это сделано намеренно, а не случайно, поскольку хост - это программа поиска DNS. / etc / hosts - это не DNS, это (в основном) то, что мы использовали до появления DNS.
Однако, насколько мне известно, в не столь старые времена утилита не использовала подобного поведения.
Я почти уверен, что хост ДЕЙСТВИТЕЛЬНО проверил файл / etc / hosts ...
Я просто схожу с ума после очень тяжелого дня или прав?
Если я прав, кто-нибудь знает почему и когда они его изменили?
Я заметил это на серверах CentOS 5.6 и 6.0.
Звучит как жалоба, а не вопрос.
хост
выполняет поиск в DNS и распространяется как часть системы DNS bind
. Он не разрешает имя, которое может включать не только / etc / hosts и DNS, но также может включать YP, LDAP, NMB (самба) и любой другой плагин nss.
Если вас интересует " при нормальном разрешении хоста вы можете использовать утилиту getent (которая, как вы не удивитесь, является частью coreutils вместе с libnss).
getent hosts google.com