macOS無法讀取hosts的解決方式

這篇以Macbook 10.15 macOS Catalina 以及在中國大陸使用LINE為範例

hosts無法生效原因

笨笨包因為在大陸必須利用每星期更新的 hosts 使用LINE的緣故,所以時常幫人更新 hosts,但是時常遇到 macOS 有一個狀況,hosts 內容正確,權限也正確的情況下,macOS 就是無法讓 hosts 生效,而且這個狀況出現在使用 icloud 桌面最常出現,原因是icloud將文字檔案傳輸時進行壓縮了,導致 macOS 無法正確讀取 hosts 內容。

hosts無法生效的處理方式

以下就是笨笨包的處理方式:

將最新版本的 hosts 檔案下載到桌面。然後將 hosts 的檔案名字改為 aaaa(這是笨笨包的習慣,你可以改為其它名字)

將hosts下載到桌面
將檔案名字改為aaaa

打開終端機(在Finder – 應用程式 – 工具程式裡面)

打開終端機

在終端機畫面 % 後輸入 ,注意大小寫,絕對不能有錯字(備註:如果是$也沒關係,只是權限身分的差異))

cat ~/Desktop/aaaa > ~/Desktop/hosts

輸入完畢按Enter,桌面會同時有 aaaa 與 hosts 兩個一樣內容不同名字的檔案

同時有aaaa與hosts兩個檔案

打開Finder,最上面功能表 – 前往 – 前往檔案夾,在框框裡面輸入

/etc

然後按前往,畫面會打開 /etc 檔案夾。

把桌面的hosts檔案,點滑鼠左鍵不放,拉入 /etc 檔案夾內,畫面會提醒需要認證輸入密碼,點認證,會問你是否取代,點取代,輸入你的密碼,hosts就已經放置成功。

需要管理員名稱和密碼做認證
問你是否取代

接著在終端機 % 後面,輸入:

sudo killall -HUP mDNSResponder

按下Enter,在 Password: 後面輸入電腦的密碼,輸入完畢再按Enter,只要不出現錯誤訊息表示已經成功。

DNS Flush

現在可以打開 LINE 看看有沒有出現二維碼,只要有出現二維碼,表示hosts已經生效,LINE也可以使用了。

LINE

最後記得刪除桌面上的aaaa檔案

3 Replies to “macOS無法讀取hosts的解決方式”

發佈回覆給「笨笨包」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料