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