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

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          新聞分類

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 交城县| 陆川县| 夏河县| 明水县| 伊宁市| 盐津县| 松江区| 达日县| 无极县| 双峰县| 时尚| 青浦区| 崇州市| 观塘区| 沈丘县| 县级市| 铁岭市| 扬中市| 朝阳县| 康保县| 安康市| 铜川市| 无棣县| 玉环县| 延寿县| 宁武县| 苍梧县| 双牌县| 无棣县| 军事| 江口县| 北票市| 开封市| 苗栗县| 汤原县| 中卫市| 正定县| 全南县| 大新县| 都兰县| 岳普湖县|