Mac OS X 应该如何维护和保养
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”技术,即检查逐渐增加内容的文件,一旦发现该这些文件的碎片过多,系统就自动清理该文件的碎片。另外,由于现在的硬盘容量、缓存和速度的增加,许多应用对于添加和修改文件的处理,从以前的附加到文件上,改成现在的一次性重新书写改文件,这样就避免了碎片的产生。更应该注意的是,为了提高操作系统启动性能,苹果把一些文件放在一起,如果把它们挪到别的地方去,系统将运行缓慢。总之,除非进行影视文件的操作和编辑,需要大量的不间断的磁盘空间来储存文件,否则,很没必要对 Mac OS X 系统清理磁盘碎片。如果要清理碎片,可以使用 TechTool Pro 或iDefrag。
5、修理磁盘权限
使用磁盘工具修理权限会给人一种错觉,因为它并不能修理硬盘上所有的文件的权限。对于使用苹果的安装软件(Installer)来安装的pkg文件,在软件安装后,会在硬盘下资源库
Receipts文件夹里留下一些印记。在 Mac OS 10.5 以前的版本中,这个 Receipts 文件
夹会将pkg文件存在该处,而对于使用 Leopard 的 packageMaker 软件所做的安装包来说,它在Receipts文件夹里只留下一个bom文件而不在保留pkg文件。
在使用磁盘工具修复权限时,系统要检查Receipts包里的文件,如果是pkg文件,它将检
查包内的Archive.bom文件。bom文件里记录着应用安装时各个文件和文件夹的权限。磁盘工具的修理权限作用就是凭借bom文件来核对和修改文件权限。有些人甚至认为磁盘工具只能修复苹果自己的系统和应用文件,只要应用在Receipts文件夹中有bom文件这种收据,就可以检查该应用被安装后的文件或文件夹的权限。
总之,用磁盘工具修理磁盘权限,所起的作用有限。一般情况下在安装软件更新或第三方软件时,由于所装的软件可能需要修改某些系统文件或文件夹的权限,并在安装结束时没有将所修改的权限更改回来,这可能会造成系统错误。另外,在突然停电、关机不当、或硬盘损坏等极端情况下,也可能出现错误,但如果是这种情况,整个系统都可能启动不了,就已经不是维护和保养的问题了。因此,在系统升级或用安装软件(第三方的安装软件或苹果的Installer-pkg文件)安装了新软件以后,需要做权限修复之外,就只有在故障发生时用来修复权限比较合适。当然,如果没事干,就去修复一下权限对磁盘也没多大坏处。