mac hosts重啟后被重寫及解決方案

          以前發現在Ubuntu重啟后,hosts 文件又恢復到了修改前,十分奇怪。

          一開始覺得是Linux的問題,最近在Mac上同樣的現象又出現了。

          查看 /etc/目錄下,發現了兩個一摸一樣的文件,hostshosts.ac ,vimdiff一下,居然一模一樣!

          看來原因找到了。

          Cisco AnyConnect 搗的鬼

          仔細回想了一下,發現/ect/hosts.ac是出現在 VPN 客戶端:Cisco AnyConnect后,hosts.ac應該是any client的縮寫。

          這貨每次在重啟后,都會把/etc/hosts重新覆蓋一遍。

          所以,除非你同時修改了/etc/hosts.ac 文件,否則單獨只修改/etc/hosts都會被重置。

          下面開始實驗證明一下

          首先測試下做個軟鏈是否有效:
          刪除原來hosts.ac sudo rm /etc/hosts.ac 建立軟鏈 sudo ln -s /etc/hosts.ac /etc/hosts

          重啟后發現,兩個hosts文件都不在了。。。悲劇 。

          嘗試反著操作
          刪除原來hosts sudo rm /etc/hosts 建立軟鏈 sudo ln -s /etc/hosts /etc/hosts.ac

          再次重啟,發現軟連接消失了,依舊變成了連個一模一樣的hosts.ac 。

          實驗證明

          每次重啟,hosts.ac都會重新復制給hosts,

          所以如果你希望hosts保留的話,每次修改hosts后,請同時復制給hosts.ac文件

          如果不小心被誤刪除了,可以使用原始的hosts文件內容恢復:

          255.255.255.255 broadcasthost ::1             localhost fe80::1%lo0     localhost

          偷懶的解決方案

          在BASH的PATH目錄下,創建mh腳本,以后通過這個腳本修改hosts文件

          #!/bin/bash  #!/bin/bash

          modify hosts

          	if [ -f /etc/hosts ];then 	        echo "/etc/hosts exists,back up to ~/hosts.bak" 	        cp /etc/hosts ~/hosts.bak 	        sudo rm /etc/hosts 	fi 	 	if [ ! -L /etc/hosts ];then 	        echo "link /etc/hosts.ac => /etc/hosts" 	        sudo ln -s /etc/hosts.ac /etc/hosts 	fi 	 	sudo vi /etc/hosts.ac

          posted on 2013-05-07 10:12 鍵盤動物 閱讀(5208) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2013年5月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          新聞分類

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 兴仁县| 土默特右旗| 新野县| 额济纳旗| 南开区| 伊通| 巨野县| 东丽区| 姜堰市| 卓尼县| 柳林县| 浮梁县| 新疆| 永安市| 保康县| 申扎县| 连南| 昌都县| 石屏县| 德保县| 日照市| 泰州市| 翼城县| 广河县| 永城市| 阿鲁科尔沁旗| 大石桥市| 达尔| 兴文县| 万年县| 巩留县| 济宁市| 乾安县| 白河县| 延吉市| 明光市| 珠海市| 安顺市| 镇安县| 崇礼县| 乌拉特后旗|