Ако работите върху уеб сайтове, от време на време ще трябва да нулирате кеша на DNS на компютъра, особено след редактиране на записи или промяна на хостове. Докато изчистването на DNS кеша на Windows е лесно с помощта на специална команда, потребителите на Mac трябва да използват малко заобиколно решение.
За да изчистите кеша на DNS на вашия Mac, отворете терминала, който можете да намерите в Applications> Utilities или като потърсите Spotlight, след което изпълнете следната команда:
sudo killall-HUP mDNSResponder
Въведете паролата си, когато тя бъде поискана.
И така, какво всъщност прави тази команда? Това, което се случва тук, е, че вие някак си подвеждате системата, за да изчистите кеша. Уикипедия обяснява:
Сигналът SIGHUP се изпраща към процес, когато неговият контролен терминал е затворен. Първоначално бе създаден, за да уведоми процеса за отпадане на серийна линия (hangup). В съвременните системи този сигнал обикновено означава, че контролиращият псевдо или виртуален терминал е бил затворен. Много демони ще презареждат своите конфигурационни файлове и ще отворят отново своите регистрационни файлове, вместо да излизат, когато получат този сигнал. nohup е команда за команда, която игнорира сигнала.
Очевидно не е нужно да знаете всичко останало. Но сега го правите.
Има много конфликтна информация в интернет за тази процедура. Някои сайтове твърдят, че трябва да изпълнявате повече команди, отколкото това в High Sierra, например, докато други правят тази команда ненужно дълга. Доколкото можем да кажем обаче, командата по-горе е всичко, което всъщност е необходимо. Ето как да проверите работата си.
Не сте сигурни дали рестартирането на DNS действително работи? Затварянето на уеб браузъра ви, преди да изчистите кеша, може да помогне в някои ситуации, но ако това не изглежда да работи, можете бързо да проверите дали вашият кеш е празен по два начина.
Първата е специфична за сайта. На терминала въведете разкопки
последвано от URL адреса на сайта. Например:
копаят howtogeek.com
В раздела "Отговор" на резултатите ще видите IP адреса, който вашият компютър знае за изброения сайт.
Ако не виждате новия IP адрес, помислете дали да не променяте DNS настройките на Mac и отново да изчистите кеша.
За по-глобален (не специфичен за сайт) метод можете също така да потвърдите, че кешът се нулира с конзолата, който можете да намерите в Приложения> Помощни програми или като използвате Spotlight. Когато системата ви е маркирана в левия панел, въведете "mDNSResponder" в полето за търсене, натиснете Enter, въведете "Size cache" заедно с първата заявка и натиснете Enter отново. Като този:
Сега, когато прозорецът на конзолата все още е отворен, върнете се обратно в прозореца на терминала и изпълнете следната команда:
sudo killall -INFO mDNSResponder
Трябва да видите размера на кеша на DNS, който е подчертан в прозореца на конзолата. Сега изпълнете тази команда:
sudo killall-HUP mDNSResponder
И тогава изпълнете тази команда още веднъж:
sudo killall -INFO mDNSResponder
Трябва да видите промените в размера на кеша в прозореца на конзолата. В екранната снимка по-горе можете да видите, че големият ни размер на кеша се промени значително след издаването на командите.