Właśnie zaktualizowałem komputer Mac do systemu macOS Sierra 10.12. Moja nazwa hosta to ninjaPixels-Macbook-Pro i jeśli uruchomię:
ping ninjaPixels-Macbook-Pro.local
lub ping ninjaPixels-Macbook-Pro
Otrzymuję błąd nieznanego hosta .
host ninjaPixels-Macbook-Pro.local
zwraca błąd: Host ninjaPixels-Macbook-Pro.local nie znaleziono: 3 (NXDOMAIN)
Jest to problem, ponieważ część naszej bazy kodu w pracy musi uruchamiać następujący python: socket.gethostbyname(socket.gethostname())
i kończy się niepowodzeniem, ponieważ mój komputer chyba zapomniał, kim on jest.
Mogę z powodzeniem uruchomić ping localhost
iping 127.0.0.1
Próbowałem następujące:
- Ponowne uruchomienie.
- Wyłączanie zapory.
- Zmiana mojej lokalnej nazwy hosta za pomocą Preferencji systemowych> Udostępnianie> Edytuj.
sudo killall -HUP mDNSResponder
dscacheutil -flushcache
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
::1 127.0.0.1
zamiast tego wydaje się, że mapowanie to rozwiązuje.ping $HOSTNAME
. W czystej instalacji systemu macOS Sierra zapora została wyłączona i nic nie zostało udostępnione, mogę zreplikowaćping $HOSTNAME
błąd. Włączam, np. Udostępnianie plików, mogęping $HOSTNAME
z systemu macOS iping macOShostname.local
OS X w tej samej sieci.Odpowiedzi:
Zakładając, że zapora jest wyłączona, w tym celu
ping $HOSTNAME
musi istnieć jakaś forma udostępniania lub usługa włączona w Preferencjach systemowych> Udostępnianie lub dodaj wpis do/etc/hosts
pliku, w zależności od tego, w jaki sposób / przez co próbujesz uzyskać dostęp$HOSTNAME
. Przykład:127.0.0.1 computer_name
gdziecomputer_name
jest zgłaszane przez rzeczywisty adres IP karty sieciowej w twoim systemieecho $HOSTNAME
lub zamiast niego127.0.0.1
.źródło
127.0.0.1 computer_name
działa dla mnie.ping macOShostname.local
zaczął działać, nawet po wyłączeniu udostępniania plików .