(эта проблема ушла для меня с обновлением 10.7.1 - / etc / hosts теперь работает как всегда для меня)
Я обновил свой Mac до Lion, и теперь я замечаю, что с / etc / hosts обращаются в последнюю очередь, даже после DNS. Это очень раздражает, так как у меня есть много имен хостов, которые я использую для разработки.
Где настроен порядок разрешения имен? Я могу проверить это с помощью dscacheutil, так вот что машина Snow Leopard сообщает мне:
pilif@tali ~ % dscacheutil -configuration
DirectoryService Cache search policy:
/Local/Default
/BSD/local
Settings:
AAAA Queries - Disabled (link-local IPv6 addresses)
Default TTL - 3600
Policy Flags - 0
И вот что Лев говорит мне
pilif@kosmos ~ % dscacheutil -configuration
DirectoryService Cache search policy:
/Local/Default
Unable to get details from the cache node
Unable to get cache configuration information
Помимо двух ошибок, я бы предположил, что / BSD / Local - это то, что заставляет его читать / etc / hosts ранее.
У кого-нибудь есть идеи, где хранится эта «политика поиска в кэше» и как ее вернуть обратно?
Я знаю, что могу создавать записи с именами хостов, используя dcsl, но мне бы очень хотелось сохранить мой / etc / hosts, который я использую на разных машинах.
Обновление: порядок разрешения, по-видимому, можно настроить в каталоге Utility. К сожалению, при этой установке Directroy Utility больше не отображает файлы BSD на вкладке «Службы».
Эта особенность ушла от Льва? Или эта установка шланговая?
источник
Дело в том, что Lion по-разному обрабатывает домен .local, поскольку он зарезервирован для некоторых функций многоадресной DNS (используется Bonjour). Единственный способ решить эту проблему - использовать другой TLD для хостов разработки (например, .dev). Это хорошо работает для меня, надеюсь, это будет полезно для других!
источник
Как я ожидаю, вы знаете, что традиционный способ Unix справиться с этим - использовать директиву
hostresorder
или . OS X читает (или может быть настроен) читать и использовать эти файлы, но OS X имеет отдельную систему, управляемую через сетевые настройки, которая, как я полагаю, перезаписывает эти файлы конфигурации при загрузке.order
/etc/resolv.conf
http://hints.macworld.com/article.php?story=20070223050607406
http://docs.info.apple.com/article.html?path=ServerAdmin/10.6/en/od4939886e.html
https://discussions.apple.com/thread/2493759
http://blog.daemon.com.au/go/blog-post/managing-the-host-file-on-leopard
Это не отвечает на ваш вопрос, но информация и ссылки могут помочь найти его. Я бы поставил это в комментарии, если бы смог сжать это, чтобы соответствовать.
источник
Можно обойти эту проблему, используя dnsmasq в качестве локального DNS и добавляя туда записи, или используйте dnsmasq для использования
/etc/hosts
.Можно использовать скрипт для установки порядка DNS-сервера:
Создайте файл:
А затем используйте ist с (Пример): setdns domain.com 12.23.34.45
(Опубликовано emzy на http://hints.macworld.com/article.php?story=20050621051643993 )
Если вы хотите, чтобы скрипт автоматически загружался при изменении сети, вы должны создать .plist, вставить его
/Library/LaunchDaemons
и использовать:источник
Я столкнулся с этой проблемой в Snow Leopard при попытке настроить прозрачный сервер обновления программного обеспечения. Теперь я работаю на Льва. Сам сервер обновлений программного обеспечения находится на полпути между хаком и клуджем, но эта проблема была решена довольно элегантно. Вот что я знаю:
Я создал следующий скрипт. / USR / местные / hostsBind:
это создает резервную копию текущего основного файла resolv.conf, создает новый с желаемым порядком узлов перед BIND и объединяет предыдущий файл до конца.
Я вызываю этот скрипт, просматривая основной файл resolv.conf со следующим запущенным заданием в /Library/LaunchDaemons/com.domain.hostsBind.plist (вы можете изменить com.domain на что-то, что имеет смысл для вас):
Это работает для нашей организации с сервером обновления программного обеспечения Lion.
Последнее, что следует отметить, это прекрасно работает и со Snow Leopard, если вы измените путь для resolv.conf на /etc/resolv.conf. Лев просто бросил шаровой символ символьной ссылки в / var / run / вместо / etc /.
-b
PS: источник для скрипта: http://forums.macrumors.com/showthread.php?p=6742920
источник
Существует ряд проблем с сервером Apache, который поставляется с OSX Lion.
Многие модули загружаются по умолчанию.
Откройте
/etc/apache2/httpd.conf
и просмотрите список включенных модулей (все они включены по умолчанию). Вы, вероятно, можете отключить многие из них, поставив#
перед линией.Это те, которые я выключил:
Теперь откройте файл hosts, расположенный по адресу
/etc/hosts
. Здесь вы увидите эту строку (и некоторые комментарии):(другое имя компьютера с курса). Добавьте следующую строку (измените имя компьютера):
Убедитесь, что вы
vhosts
не полагаетесь на IP-адреса. Измените их так:становится:
источник