/ etc / hosts получаю сброс в Lion

22

Чтобы заняться веб-разработкой на моем локальном компьютере, я использую этот /etc/hostsфайл для определения хостов, которые указывают на 127.0.0.1, к которым у меня есть Apache, обслуживаемый через VirtualHosts. Это прекрасно работает, за исключением того, что теперь кажется, что Lion периодически сбрасывает мой файл / etc / hosts.

Кто-нибудь еще испытывал это? Есть ли способ предотвратить это?

У меня никогда не было этой проблемы в Snow Leopard.

Джимми З
источник
у вас есть файл hosts.ac? или любые другие копии файла hosts?
user570144
@ user570144 Кажется, ты был прав.
Даниэль Бек
Да. Пользователь570144 был прав. Извините, я не увидел здесь комментарий.
Джимми З
Я испытываю эту проблему в Snow Leopard
10.6.8

Ответы:

37

Я только что обнаружил, что сбрасывает мой файл / etc / hosts. Это VPN-клиент Cisco AnyConnect. Каждый раз, когда я подключался к VPN своей организации, он сбрасывал файл хостов по умолчанию. Я так редко подключаюсь к VPN, что проблема кажется непостоянной.

Если вы используете VPN-клиент Cisco AnyConnect, имейте в виду, что он сбросит файл хостов с содержанием следующего: /etc/hosts.ac

Чтобы решить проблему, внесите изменения в ваши хосты /etc/hostsи в /etc/hosts.acфайл.

Я получил подсказку от MacWorld.

Джимми З
источник
1
Тот же самый опыт, но предполагаю, что это от Cisco Unified Personal Communicator (кекс). Уверен, что это исправляет его. Я не использую VPN достаточно, чтобы соответствовать, когда это происходит со мной. Также это происходит только при перезагрузке.
doublejosh
1
Хотелось бы прочитать объяснение от Cisco относительно того, почему это делает это
Мэтт б
1
Это поведение было исправлено / изменено в AnyConnect v3.0.5080 (или выше), выпущенном весной 2013 года. Примечания к выпуску - поиск hosts.ac.
BrianC
2

Службы каталогов (NetInfo в Tiger и более ранних версиях) имеют собственную статическую карту хостов, которая будет использоваться преобразователем адресов ранее /etc/hosts. Этим можно манипулировать с помощью утилиты каталогов или dscl.

dscl localhost -create /Local/Default/Hosts/www.myhost1.com IPAddress 127.0.0.1
dscl localhost -create /Local/Default/Hosts/www.myhost2.com IPAddress 127.0.0.1
dscl localhost -create /Local/Default/Hosts/www.myhost3.com IPAddress 127.0.0.1
dscl localhost -create /Local/Default/Hosts/www.myhost4.com IPAddress 127.0.0.1
ephemient
источник
1

Я не видел такого поведения на Lion, и у меня есть собственный / etc / hosts.

Весь файл возвращается или несколько верхних строчек для общих записей, таких как 127.0.0.1?

Вполне возможно, что некоторые действия операционной системы повторно применят несколько верхних «стандартных» строк / etc / host, поэтому я мог бы попытаться добавить строки вместо их редактирования ...

Моя выглядит примерно так и никогда не менялась волшебным образом:

##
# База данных хоста
#
# localhost используется для настройки интерфейса обратной связи
# когда система загружается. Не меняйте эту запись.
##
127.0.0.1 localhost
255.255.255.255 широковещательный хост
:: 1 localhost
fe80 :: 1% lo0 localhost

# маршрутизировать некоторые веб-запросы локально
127.0.0.1 www.myhost1.com
127.0.0.1 www.myhost2.com
127.0.0.1 www.myhost3.com
127.0.0.1 www.myhost4.com
spkane
источник
По какой-то причине добавление дополнительных адресных строк 127.0.0.1 не работало, когда я впервые обновил / etc / hosts после перехода на новую машину Lion. Итак, я добавил запись после localhost в верхней строке 127.0.0.1. Теперь он работает, поэтому я добавил новые строки и посмотрю, будет ли он сброшен снова. Я, должно быть, делал что-то не так изначально. Я отмечу это как решение моей проблемы после того, как смогу проверить немного больше времени. Благодарность!
Джимми Z
Я перечислил сопоставление доменов под нижним локальным хостом по умолчанию, и оно было сброшено сегодня утром.
Джимми Z
1

Я был свидетелем той же проблемы, что и Джимми З. Действительно расстраиваюсь, тем более что у меня много собственных хостов. Только в 3-м или 4-м случае я понял, что это происходит всегда после перезагрузки.

Я наконец наткнулся на это сообщение в блоге, в котором предлагалось удалить и воссоздать файл hosts. Я последовал совету, перезагрузился и с облегчением обнаружил / etc / hosts в состоянии перед загрузкой. Вот резюме того, что я сделал.

cat /etc/hosts | pbcopy 
sudo rm /etc/hosts{,.ac}
sudo touch /etc/hosts
sudo su root -c 'pbpaste > /etc/hosts'
Джефф Поултон
источник