Kako izprazniti predpomnilnik DNS v OS X Yosemite z discoveryutil
Kazalo:
- Počisti predpomnilnik DNS v OS X Yosemite 10.10.4 & OS X 10.10.5
- Čiščenje predpomnilnika DNS v OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Nekateri uporabniki Maca se lahko znajdejo v situacijah, ko morajo izprazniti predpomnilnik DNS v OS X, da se imenski strežnik pravilno razreši, ali da njihov posamezni računalnik opazi spremembo naslova DNS. To je še posebej pomembno za sistemske skrbnike, omrežne skrbnike in spletne razvijalce, vendar zagotovo obstajajo situacije, ko bodo morda morali tudi drugi uporabniki narediti izpis in ponastaviti predpomnilnike DNS, na primer, če je uporabnik spremenil datoteko /etc/hosts in potrebuje spremembe da začne veljati brez ponovnega zagona Maca.
Dolgoletni uporabniki Maca bodo vedeli, da se je ponastavitev predpomnilnika DNS spremenila v skoraj vseh različicah Mac OS X in OS X Yosemite ni nič drugačen, verjetno zaradi odkritja, ki je zamenjalo mDNSResponder in nato preklopilo nazaj na mDNSResponder še enkrat. Ne glede na to ostaja izpiranje predpomnilnika DNS v Yosemiteju terminalski ukaz, vendar se nekoliko razlikuje glede na točno izdajo operacijskega sistema, ki jo uporabljate, in vam dejansko omogoča, da počistite bodisi Multicast DNS ali Unicast DNS ali oboje. Če poskušate ponastaviti vse predpomnilnike DNS v Macu, boste verjetno želeli počistiti oboje.
Počisti predpomnilnik DNS v OS X Yosemite 10.10.4 & OS X 10.10.5
Od OS X 10.10.4 naprej do 10.10.5, vključno z 10.11, je Apple opustil discoveryd in ga nadomestil (ali bolje rečeno, vrnil nazaj) mDNSResponder. Tako je za brisanje predpomnilnikov DNS v OS X Yosemite 10.10.4 in 10.11 El Capitan in verjetno naprej ukazni niz naslednji:
sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;say cache spraznjen
Ta ukaz izpere vse predpomnilnike DNS za OS X 10.10.4+.
Dolgoletni uporabniki Maca se morda spomnijo, da je ukazni niz v bistvu deloval v izdaji pred Yosemite. Glede na to bodo starejše različice OS X Yosemite pred 10.10.4 uporabljale drug ukazni niz, ki je opisan spodaj.
Čiščenje predpomnilnika DNS v OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)
Za ponastavitev predpomnilnika boste morali uporabiti terminal, aplikacijo terminala lahko najdete v /Applications/Utilities/ ali jo zaženete s Spotlightom. Če želite popolnoma počistiti vse predpomnilnike DNS v najnovejši različici OS X, ciljajte na MDNS (multicast DNS) in UDNS (unicast DNS) z dvema različnima ukazoma.
Počisti predpomnilnik MDNS
sudo discoveryutil mdnsflushcache
Pritisnite Return in vnesite skrbniško geslo, ko boste pozvani.
Počisti predpomnilnik UDNS
sudo discoveryutil udnsflushcaches
Ponovno pritisnite tipko return in na zahtevo vnesite skrbniško geslo. Upoštevajte, da je predpomnilnik s slednjim ukazom množina, kar je subtilna, a pomembna sintaksna razlika.
Izprazni in ponastavi vse predpomnilnike DNS v OS X Yosemite
Če želite, lahko zgornja dva ukaza povežete skupaj, naslednji bo celo ustno sporočil, ko so predpomnilniki počiščeni:
sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;recite sprano
Res je, da sta predpomnilnika MDNS in UDNS različna, vendar sem ugotovil, da sta za dejansko čiščenje funkcionalnega predpomnilnika DNS v OS X Yosemite potrebna oba ukaza. Povsem možno je, da morate eno ali drugo očistiti samo za lastne potrebe.
Za tiste, ki se sprašujejo, OS X Yosemite je odpravil mDNSResponder, tako da ni treba uničiti tega procesa mDNSResponder za osvežitev predpomnilnikov DNS kot v prejšnjih različicah Mac OS X.
Preverjanje podrobnosti predpomnilnika DNS v OS X Yosemite
Če spreminjate ali nameravate spremeniti DNS in želite videti nekaj podrobnosti o tem, kaj je trenutno predpomnjeno, lahko uporabite naslednje ukaze:
Pridobi statistiko predpomnilnika UDNS:
sudo discoveryutil udnscachestats
Lahko pridobite tudi podrobnosti o multicast predpomnilniku DNS z naslednjim:
sudo discoveryutil mdnscachestats
Oba bosta ponudila podrobnosti o številu predpomnjenih vnosov DNS in ponudila poročilo, ki bi moralo izgledati takole:
Statistika predpomnilnika UDNS: Predpomnjeno 962 od 1750
Če zaženete te ukaze pred in po zagonu različic flushcache, boste ugotovili, da jih je treba ponastaviti na predpomnilnik 0 vnosov, takole:
Statistika predpomnilnika MDNS: lo0: Predpomnjeno 0 od 2000
Kako veš, če se je spremenilo?
Če želite po izpraznitvi predpomnilnika ugotoviti, ali se je imenski strežnik ali IP dejansko spremenil, lahko uporabite ukaz 'dig' z URL-jem, kot je ta:
dig osxdaily.com
dig je podoben nslookupu, le da ima boljši rezultat in vključuje nekaj več podrobnosti, vključen čas poizvedbe, nastavljeni strežnik DNS, ki se uporablja za dostop do domene, in časovni žig, vse to pa lahko dragocen pri odpravljanju težav z imenskim strežnikom. Mimogrede, če se čas poizvedbe za to pokaže kot počasen, uporabite orodje, kot je namebench, da poiščete hitrejši strežnik DNS, pogosto Google DNS ali OpenDNS.
Ali poznate še en trik predpomnilnika DNS za najnovejše različice OS X? Sporočite nam v komentarjih.