Mac OS X 系統的日常維護和保養究竟應該包括哪些內容,一直眾說不一。網絡上的文章更是花樣百出,少則一頁,多則十幾頁,甚至在某些問題上彼此矛盾,即使是蘋果自己的知識庫的文章都有相互矛盾的地方。比較全面的維護和保養的文章,一般都提及了以下內容:
1 運行日常維護腳本 (Scripts)
2 清除緩存 (Caches)
3 修理和備份屬性文件
4 清理磁盤碎片 (Defragment)
5 修復磁盤權限
6 檢查並修理磁盤
7 清理桌面
8 重置 Safari;
9 重建 Spotlight 數據庫
更具體的,甚至規定了每日、每周、每月以及每季度用戶應該如何如何。從內容上看,它們實際上包括了檢修甚至是急救的內容,還包含一點系統優化的內容。而上面沒有提到的內容,則包括日常備份、軟件及固件的升級、筆記本電池軟件的校正。
實際上,從用戶的日常使用來說,終歸蘋果電腦不是一輛車,不能象給車進行定期維修一樣往修車店裡送,而且除了某些基本的維護外,也沒必要每次保養都上全活兒。更主要的,如果在日常使用中每天、每星期、每月、每季度甚至每年都要花費那麼多的時間來進行維護和保養,這些時間累計起來恐怕比某些用戶的用機時間都長。即使是系統管理員也不可能對所管理的所有機器都定期上全活。甚至,我懷疑那些洋洋灑灑大書特書 Mac OS X 維修和保養的人,對自己的機器也是那麼保養的。維護和保養的目的其實應該以保證系統目前的性能為主,也就是說通過維護和保養,讓你的Mac OS X 能夠保持目前的性能就已經足夠了。這看起來很容易,但實際上並不是如此。換個說法就是,從系統和軟件初裝一切就續開始,通過一段時間的使用,3個月、半年、一年甚至更長時間,你 Mac OS X 系統還能跟初始安裝時的性能相差無幾,那就說明你的機器維護和保養做得相當充分。可是,有多少人能做到這點?
首先,先來逐條研究一下經常提到的維護和保養措施,來看看應該在什麼時候使用這些步驟,然後再歸納一下,看看用戶日常應該做些什麼。
1、運行日常維護腳本(Scripts)
Unix 系統下有幾個腳本文件,最主要的位於/etc/periodic/下的文件夾中。以前,由於
Unix 系統往往做為公司或組織信息系統的核心,所以一般也不停機。這些腳本的設計目
的,就是針對不停機的Unix進行一定的清理。每到晚3點15分,系統就會開始運行每日清理腳本對系統進行清理。根據不同的Mac OS X系統,這些清理包括清除 CrashReporter、tmp 文件夾裡的文件、清除垃圾文件、檢查次
系統狀態、更新系統日志、備份 NetInfo 和 asl 日志等。清理完畢將在 /var/log/ 文件夾
下產生 daily.out 文件。每周六晚3點15分,系統開始運行每周清理腳本進行每周清理。清理的內容包括重建 locate 和 whatis 數據庫,並各種日志進行更替。最後在 /var/log/ 文件夾下產生 weekly.out 文件。每月第一天晚5點半,系統執行月清理腳本,更替安裝日志和傳真文件,最終生成 monthly.out 。在更替日志過程中,舊的日志文件被壓縮,系統產生新的文件,這樣就節約了磁盤空間。整個作用機制 (Leopard) 是,系統的 cron 或 launchd 首先在硬盤下的系統資源庫裡的LaunchDaemons 文件夾裡找到 com.apple.weekly.plist、com.apple.monthly.plist、或 com.apple.monthly.plist 然後到 usr/sbin/ 裡啟動 periodic,periodic 到 /etc/ defaults/ 下找到 periodic.conf ,然後根據該文件的設定,到 /etc/periodic/ 下運行相
應文件夾裡的相應應用。應用啟動的時間的設定在上述的 plist 文件中。Leopard 以外的
其它版本的 Mac OS X 的運作過程和清理內容與 Leopard 稍有不同。
由於這些腳本文件是為不停機的系統編寫的,因此,只有在預設的時間裡,你的電腦沒有關機或休眠時,它們才能如期完成任務。如果由於機器休眠或關機而錯過了這些腳本的運行時間,下次什麼時候運行就成了一個問題。在 Leopard 以前的版本,launchd 是根據系統定時器來設定腳本運行時間的,而系統定時器不會計算機器的睡眠時間,因此會將定時的時間向後推遲,也就是說,如果你晚1點15分機器處於睡眠,此時距離啟動清理腳本的時間為2小時。當你早晨8點將電腦喚醒後,系統定時仍然以為需要兩小時後才能進行清理,於是等到早上10點,你就會發現機器變得很慢,原因是此時機器自動啟動了清理腳本。如果你每天只用1、2個小時的電腦,那將很難估計什麼時候機器會做自動清理。因此,就不如沒次開機或喚醒電腦後,主動運行這些清理腳本。運行這些腳本,可以通過執行終端的periodic 命令或者運行一些第三方軟件。使用終端命令,則需輸入:
sudo periodic 腳本名腳本名應該是 daily、weekly 或 monthly。如果要同時運行三個維護腳本,則可輸入:sudo periodic daily weekly monthly一些第三方軟件也具有這個功能。在 Leopard 上,情況有所變化。當機器從睡眠中喚醒後,一旦發現系統沒有及時運行清理腳本,它會立即開始自動調用這些腳本。所以,Leopard 的用戶完全沒必要考慮自己運行清理腳本的問題。
2、清除緩存 (Caches)
首先要弄明白什麼叫緩存以及緩存是干什麼用的,然後才能去考慮是否應該定期清除它。
電腦裡緩存到處可見,主板上有緩存,根據機型不同,可能是獨立的硬件也可能在處理器
上; 硬盤上有緩存; 文件系統裡仍然有緩存,而應用,比如 Safari,也有緩存。Cache 本身是個法語詞,表示的是臨時儲藏的地方。在電腦運行時,為了不讓處理器等待數據,人們就建立起一個個臨時存儲數據的地方。總言之,由於緩存的存在,更由於系統和應用的相關數據儲存在緩存中,系統和應用才會運行得快。換句話說,如果緩存是空的,在系統運行時,機器首先查看緩存,當沒有發現相關內容時,再去調用相關應用,並將系統和應用的數據和狀態存於緩存中,這個過程就比直接從緩存裡能找到這些數據和狀態慢得多。
但是如果緩存裡面的東西太多或空間不足,在調用新應用或者是應用產生的數據量過大時,部分內容需要從緩存中騰出去,才能在緩存中添加新的東西。這個過程本身機器自己就可以控制。當然,如果要人為的清空緩存,可能比機器的清空速度要快些,但是在這麼做的同時,你也將其它所有應用的緩存都清除了,這勢必會影響那些應用的使用性能。主板上的緩存內存,在關機後,內容便消失了;而以文件形式保存到硬盤裡的緩存,隨系統或應用的使用情況而不同。可以說,只有少數情況下,需要人為地清除緩存。比如,緩存內的數據出現錯誤,造成系統或應用不能正常運行。當出現這種情況時,作為用戶你可以感覺到系統或應用的不正常,此時,你可能采取其它的障礙排除的步驟,而清空緩存也是值得考慮的。通過上述的分析,不難看出,如果緩存內的數據沒有錯誤,沒必要來清空緩存,而清空緩存以後,反而會對性能產生負面影響。因此,這個做法應該看作是故障清除的手段,沒必要日常定時進行。
清空緩存的方法最好借助其它應用,而不是自己一步步地刪除。可以用 Cocktail、
Leopard Cache Cleaner 或 Tiger Cache Cleaner。
3、修理和備份屬性文件 (plist)
在系統資源庫、硬盤資源庫的 Preferences 和每個用戶的 Preferences 文件夾內存在大
量plist文件。這些文件裡包含著系統或應用的設置,很多屬性文件是在應用的使用中產生
的。當應用出現故障或存在bug,通過刪除這些屬性文件,可以使應用恢復到初始狀態。在某些情況下,用戶通過應用界面下的預制或偏好設置 (Preferences),將該應用個性化。這些個性化數據就存在相應應用的plist文件中。如果應用出現故障時,用戶把它的plist文件刪除,此時,應用可能得以恢復,但是,用戶對該應用的個性化設置也丟了。這就是為什麼需要備份屬性文件的理由。但是,多數情況下,應用本身提供的可修改的屬性是有限的,而且即使是個性化的信息很重要、很難記住,一旦該應用設置完畢,以後就都按這個設置進行了。因此,即使是備份,備份一遍也就夠了,無須定期備份。因此,這不應該看作是日常維護的步驟。
4、整理磁盤碎片 (Defragment)
電腦在向磁盤讀寫數據的時候並不總是將數據寫到持續的扇區。在電腦使用一段時間以後,經常編輯或變更的文件可能會一小片一小片地分散在硬盤各處。文件目錄將硬盤上這些小片的位置通知給操作系統。對於操作系統來說,文件就象完整的一塊兒一樣。清理磁盤碎片則是將文件的所有片段復制、連接並轉移到持續的扇區,然後重建文件目錄。這樣,就很便於操作系統對文件的查找。清理磁盤碎片對於 Windows 系統來說有其必要性,但是,對於 Mac OS X 系統來說,通常情況下是不需要的。這是因為蘋果采用了若干技術盡可能地避免碎片的產生。首先,HFS+格式盡量避免磁盤空間的重復使用,其次,HFS+的宗卷可以延遲排布 (Delayed Allocation),就是當某個磁盤段 (block) 面臨書寫數據時,為該數據所准備的磁盤空間大小不被算做自由空間,但是卻沒有列在自由空間表中,而這些數據則存於內存中,直到系統要清除緩沖或應用要求同步時,才一次性傾倒到硬盤上。除此之外,蘋果系統還采用了”Hot-File- Adaptive-clustering”技術,即檢查逐漸增加內容的文件,一旦發現該這些文件的碎片過多,系統就自動清理該文件的碎片。另外,由於現在的硬盤容量、緩存和速度的增加,許多應用對於添加和修改文件的處理,從以前的附加到文件上,改成現在的一次性重新書寫改文件,這樣就避免了碎片的產生。更應該注意的是,為了提高操作系統啟動性能,蘋果把一些文件放在一起,如果把它們挪到