(ten problem zniknął dla mnie z aktualizacją 10.7.1 - / etc / hosts teraz działa jak zawsze dla mnie)
Zaktualizowałem mojego Maca do Lion'a i teraz zauważam, że / etc / hosts jest sprawdzany ostatnio, nawet po DNS. To bardzo denerwujące, ponieważ mam tam wiele nazw hostów, których używam do programowania.
Gdzie jest skonfigurowana kolejność rozpoznawania nazw? Mogę to sprawdzić za pomocą dscacheutil, więc oto, co mówi mi maszyna 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
I oto, co mówi mi Lion
pilif@kosmos ~ % dscacheutil -configuration
DirectoryService Cache search policy:
/Local/Default
Unable to get details from the cache node
Unable to get cache configuration information
pomijając dwa błędy, zakładam, że / BSD / Local jest tym, co sprawia, że czytał / etc / hosts wcześniej.
Czy ktoś ma pojęcie, gdzie ta „Polityka wyszukiwania pamięci podręcznej” jest przechowywana i jak ją zmienić?
Wiem, że mogę tworzyć wpisy nazw hostów za pomocą dcsl, ale naprawdę chciałbym zachować moje / etc / hosts, których używam na różnych komputerach.
Aktualizacja: Kolejność rozwiązywania najwyraźniej można skonfigurować w katalogu Utility. Niestety, ta instalacja Directroy Utility nie wyświetla już plików BSD na karcie Usługi.
Czy ta funkcja zniknęła z Lion? A może ta instalacja jest zamknięta?
źródło
Chodzi o to, że Lion inaczej obsługuje .Local TLD, ponieważ jest zarezerwowany dla niektórych funkcji DNS multiemisji (używanych przez Bonjour). Jedynym sposobem, w jaki znalazłem rozwiązanie tego problemu, jest użycie innej TLD dla hostów programistycznych (tj. .Dev). Działa dla mnie dobrze, mam nadzieję, że będzie pomocny dla innych!
źródło
Jak się domyślam, tradycyjnym uniksowym sposobem radzenia sobie z tym jest użycie dyrektywy
hostresorder
luborder
w/etc/resolv.conf
. OS X czyta te pliki i może z nich korzystać, ale OS X ma osobny system zarządzany za pomocą preferencji sieciowych, które moim zdaniem nadpisują te pliki konfiguracyjne podczas uruchamiania.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
To nie odpowiada na twoje pytanie, ale informacje i linki mogą pomóc je znaleźć. Umieściłbym to w komentarzu, gdybym mógł to zagęścić, aby dopasować.
źródło
Można obejść ten problem, używając dnsmasq jako lokalnego DNS i dodając tam wpisy lub używając dnsmasq do użycia
/etc/hosts
.Możliwe jest użycie skryptu do ustawienia kolejności serwerów DNS:
Utwórz plik:
A potem użyj ist z (Przykład): setdns domain.com 12.23.34.45
(Wysłany przez emzy na http://hints.macworld.com/article.php?story=20050621051643993 )
Jeśli chcesz, aby skrypt ładował się automatycznie przy zmianie sieci, powinieneś utworzyć .plist, włożyć go
/Library/LaunchDaemons
i użyć:źródło
Napotkałem ten problem w systemie Snow Leopard, próbując skonfigurować przezroczysty serwer aktualizacji oprogramowania. Teraz pracuję też nad Lionem. Sam serwer aktualizacji oprogramowania znajduje się w połowie drogi między hackiem a kludge, ale ten problem został rozwiązany dość elegancko. Oto co wiem:
Utworzyłem następujący skrypt. / usr / local / hostsBind:
ta kopia zapasowa bieżącego głównego pliku resolv.conf, tworzy nowy z żądaną kolejnością hostów przed BIND i konkatenuje poprzedni plik do końca.
Wywołuję ten skrypt, oglądając główny plik resolv.conf z następującym uruchomionym zadaniem w /Library/LaunchDaemons/com.domain.hostsBind.plist (możesz zmienić com.domain na coś, co ma dla ciebie sens):
Działa to dla naszej organizacji z serwerem Lion Software Update.
Na koniec należy zauważyć, że działa to również dobrze w przypadku Snow Leopard, jeśli zmienisz ścieżkę do resolv.conf na /etc/resolv.conf. Lion właśnie rzucił krzywą dowiązania symbolicznego do / var / run / zamiast / etc /.
-b
PS: Źródło skryptu: http://forums.macrumors.com/showthread.php?p=6742920
źródło
Jest wiele rzeczy nie tak z serwerem Apache, który jest dostarczany z OSX Lion.
Domyślnie ładowanych jest wiele modułów .
Otwórz
/etc/apache2/httpd.conf
i przejrzyj listę włączonych modułów (wszystkie są domyślnie włączone). Prawdopodobnie możesz wyłączyć wiele z nich, umieszczając znak#
z przodu linii.Oto te, które wyłączyłem:
Teraz otwórz plik hosts, który znajduje się na
/etc/hosts
. Tutaj zobaczysz ten wiersz (i kilka komentarzy):(inna nazwa komputera oczywiście). Dodaj następujący wiersz (zmień nazwę komputera):
Upewnij się,
vhosts
że nie polegasz na adresach IP. Zmień je w ten sposób:Staje się:
źródło